Kryptologi Homework 1
|
|
- Harald Asmussen
- 7 år siden
- Visninger:
Transkript
1 Kryptologi Homework 1 Rune Højsgaard 13. februar Indledning Dette er besvarelsen af øvelsesopgave 1 på kurset Kryptologi 2007, Københavns Universitet. Opgaven består i at dekryptere tre ciffertekster. Til kryptoanalysen af de tre opgaver er der udviklet en række simple hjælpefunktioner der kan findes i bilag A. En elektronisk udgave af dette dokument kan hentes fra 2 Øvelse 1.21 a) Substitution Cipher Givet nedenstående ciffertekst ønskes det at bestemme klarteksten, der er taget fra The Diary of Samuel Marchbanks af Robertson Davies. Cifferteksten er resultatet af at kryptere klarteksten med Substitution Cipher fra [Sti95, p. 7], hvor d K (f) = W. For at finde klarteksten benyttes strategien fra [Sti95, p ]. Frekvensen af de 26 bogstaver er gengivet i figur 1. emglosudcgdncuswysfhnsfcykdpumlwgyicoxysipjck qpkugkmgolicgincgacksnisacykzsckxecjckshysxcg oidpkzcnkshicgiwygkkgkgoldsilkgoiusigledspwzu gfzccndgyysfuszcnxeojncgyeoweupxezgacgnfglkns acigoiyckxcjuciuzcfzccndgyysfeuekuzcsocfzccnc iaczejncshfzejzegmxcyhcjumgkucy Eftersom c har den højeste frekvens formodes det, at d K (c) = E jf. sandsynlighederne i [Sti95, p. 27]. Erstattes f med W og c med E konstateres det at mønsteret WzEEn optræder tre gange i teksten. Da den første af de tre forekomster ikke har et E foran sig, antages det at WzEEn ikke er to ord f.eks. feed og dew. Givet at z og n er før/efter en vokal må de formodes at representerer konsonanter. Givet den hyppige forekomst af z og n antages det at WzEEn er ordet WHEEL, hvilket giver D K (z) = H og D K (n) = L, hvilket giver følgende: emglosudegdleuswyswhlsweykdpumlwgyieoxysipjek qpkugkmgoliegilegaekslisaeykhsekxeejekshysxeg oidpkhelkshiegiwygkkgkgoldsilkgoiusigledspwhu gwheeldgyyswushelxeojlegyeoweupxehgaeglwglkls aeigoiyekxejueiuhewheeldgyysweuekuhesoewheele iaehejleshwhejhegmxeyhejumgkuey 1
2 bogstav frekvens bogstav frekvens a 5 n 13 b 0 o 10 c 37 p 6 d 8 q 1 e 12 r 0 f 9 s 20 g 24 t 0 h 5 u 14 i 15 v 0 j 7 w 5 k 18 x 7 l 7 y 15 m 5 z 13 Figur 1: Frekvensen af forekomster af de 26 bogstaver i cifferteksten Her optræder WHEELdgyysW to gange, hvilket ud fra frekvenserne af g, s og y giver en formodning om, at ordet er WHEELBARROW. Denne antagelse giver altså D K (d) = B, D K (g) = A, D K (s) = O og D K (y) = R: emalooubeableuowrowhlowerkbpumlwarieoxroipjek qpkuakmaolieaileaaekolioaerkhoekxeejekohroxea oibpkhelkohieaiwrakkakaolboilkaoiuoialebopwhu AWHEELBARROWuOHELxeojLEAReoweupxeHAaEALWAlkLO aeiaoirekxejueiuhewheelbarroweuekuheooewheele iaehejleohwhejheamxerhejumakuer I første linie fremstår nu BEABLEuOwROWhLOWER, hvorfor det formodes at D K (h) = F, D K (u) = T og D K (w) = G, hvilket giver klarteksten BEABLETOGROWFLOWER. Ydermer giver frekvensen af k og klarteksten andledning til at formode at D K (k) = S. Denne substitution giver en række fragmenter af teksten; BOpGHT, hvorfor der udfra frekvensen af p formodes at D K (p) = U. GARiEo medfører at D K (i) = D og D K (o) = N. Hermed er det muligt at afkode xroipjes til xrodujes, hvilket i forhold til frekvenserne passer med ordet PRODUCES, altså d K (x) = P og d K (j) = C: emalnotbeabletogrowflowersbutmlgardenproduces qustasmanldeadleaaesoldoaershoespeecesofropea NDBUSHELSOFDEADGRASSASANlBODlSANDTODAleBOUGHT AWHEELBARROWTOHELPeNCLEAReNGeTUPeHAaEALWAlSLO aedandrespectedthewheelbarrowetestheonewheele DaEHeCLEOFWHeCHeAmPERFECTmASTER Herfra er det rimelig nemt at udlede resten af bogstaverne udfra kontekst og frekvens; d K (e) = I, d K (m) = M og d K (l) = Y, d K (q) = J og d K (a) = V, hvilket giver klarteksten: IMAYNOTBEABLETOGROWFLOWERSBUTMYGARDENPRODUCES JUSTASMANYDEADLEAVESOLDOVERSHOESPIECESOFROPEA NDBUSHELSOFDEADGRASSASANYBODYSANDTODAYIBOUGHT 2
3 AWHEELBARROWTOHELPINCLEARINGITUPIHAVEALWAYSLO VEDANDRESPECTEDTHEWHEELBARROWITISTHEONEWHEELE DVEHICLEOFWHICHIAMPERFECTMASTER 3 Øvelse 1.21 b) Vigenère Cipher Givet nedenstående ciffertekst ønskes det at bestemme klarteksten der er taget fra The Diary of Samuel Marchbanks af Robertson Davies. Cifferteksten er resultatet af at kryptere klarteksten med Vigenère Cipher fra [Sti95, p. 12]. For at finde klarteksten benyttes strategien fra [Sti95, p ]. kccpkbgufdphqtyavinrrtmvgrkdnbvfdetdgiltxrgud dkotfmbpvgegltgckqracqcwdnawcrxizakftlewrptyc qkyvxchkftponcqqrhjvajuwetmcmspkqdyhjvdahctrl svskcgczqqdzxgsfrlswcwsjtbhafsiasprjahkjrjumv gkmitzhfpdispzlvlgwtfplkkebdpgcebshctjrwxbafs pezqnrwxcvycgaonwddkackawbbikftiovkcgghjvlnhi ffsqesvyclacnvrwbbirepbbvfexoscdygzwpfdtkfqiy cwhjvlnhiqibtkhjvnpist For at finde nøglens længde udføres en Kasiski test. Det oftest forekommende segment er HJV der optræder fem gange i cifferteksten på positionerne (1 indekseret) 108, 126, og 330, hvilket giver en afstand på 18, 156, 210 og 220. Den største fællesnævner for disse fire afstande er 6, hvorfor det antages at dette er længden på nøglen. For at opnå yderligere sikkerhed for at 6 er den rigtige længde kunne man beregne index of coincidence jf. [Sti95, p. 33]. For at bestemme nøglen, inddeles teksten i m = 6 strenge y i, 1 i m, hvor y i = y i y mi y 2mi. Hver y i frekvensanalyseres og efterfølgende beregnes for hver: M g = 25 i=0 p i f ig mod 26 n hvor n er længden på y i, p i sandsynlighedsfordelingen for alphabetet (engelsk), 0 g 25 og f i er frekvensen. værdierne af M g (y i ) er opsummeret i figur 2. For hvert i findes den værdi af M g der er tættest på 0.065, hvilket indikerer at g = k i. Denne værdi er markeret med firkanter i figur 2. Dette giver nøglen K = (2, 17, 24, 15, 19, 14), eller CRYPTO. Dekrypteres cifferteksten som beskrevet i [Sti95, p ] med nøglen CRYPTO fremstår følgende klartekst: ILEARNEDHOWTOCALCULATETHEAMOUNTOFPAPERNEEDEDF ORAROOMWHENIWASATSCHOOLYOUMULTIPLYTHESQUAREFO OTAGEOFTHEWALLSBYTHECUBICCONTENTSOFTHEFLOORAN DCEILINGCOMBINEDANDDOUBLEITYOUTHENALLOWHALFTH ETOTALFOROPENINGSSUCHASWINDOWSANDDOORSTHENYOU ALLOWTHEOTHERHALFFORMATCHINGTHEPATTERNTHENYOU DOUBLETHEWHOLETHINGAGAINTOGIVEAMARGINOFERRORA NDTHENYOUORDERTHEPAPER 3
4 i Værdien af M g (y i ) 1 0,032 0,036 0,065 0,039 0,034 0,042 0,037 0,031 0,042 0,046 0,025 0,034 0,038 0,042 0,038 0,046 0,036 0,040 0,042 0,033 0,030 0,039 0,043 0,034 0,042 0, ,038 0,039 0,049 0,042 0,040 0,036 0,045 0,030 0,027 0,036 0,045 0,031 0,035 0,048 0,040 0,033 0,036 0,071 0,037 0,030 0,029 0,036 0,030 0,038 0,046 0, ,035 0,036 0,034 0,038 0,036 0,041 0,028 0,038 0,034 0,042 0,041 0,046 0,040 0,043 0,037 0,032 0,035 0,039 0,042 0,031 0,039 0,033 0,035 0,044 0,059 0, ,045 0,038 0,044 0,037 0,037 0,038 0,031 0,033 0,039 0,037 0,037 0,051 0,041 0,031 0,035 0,066 0,037 0,030 0,039 0,041 0,025 0,035 0,041 0,033 0,035 0, ,040 0,033 0,034 0,040 0,045 0,034 0,043 0,046 0,047 0,034 0,034 0,036 0,034 0,035 0,034 0,044 0,034 0,036 0,035 0,056 0,041 0,035 0,043 0,044 0,031 0, ,042 0,038 0,037 0,042 0,039 0,027 0,033 0,039 0,037 0,034 0,048 0,035 0,025 0,037 0,070 0,042 0,032 0,032 0,039 0,033 0,040 0,041 0,035 0,037 0,039 0,048 Figur 2: værdier af M g (y i ) 4 Øvelse 1.21 c) Affine Cipher Givet nedenstående ciffertekst ønskes det at bestemme en klartekst af ukendt oprindelse. Cifferteksten er resultatet af at kryptere en klartekst med Affine Cipher fra [Sti95, p. 8-12]. For at finde klarteksten benyttes strategien fra [Sti95, p ]. Frekvensen af de 26 bogstaver er gengivet i tabel 3. kqerejebcppcjcrkieacuzbkrvpkrbcibqcarbjcvfcup kriofkpacuzqepbkrxpeiieabdkpbcpfcdccafieabdkp bcpfeqpkazbkrhaibkapcciburccdkdccjcidfuixpaff erbiczdfkabicbbenefcupjcvkabpcydccdpkbcocperk ivkscpicbrkijpkabi De mest frekvente bogstaver er c og b, hvorfor det gættes at c er E og b er T. Altså e K (4) = 2 og e K (19) = 1, hvilket giver føgende lineære ligninger: 4a b = 2 19a b = 1 4
5 bogstav frekvens bogstav frekvens a 13 n 1 b 21 o 2 c 32 p 20 d 9 q 4 e 13 r 12 f 10 s 1 g 0 t 0 h 1 u 6 i 16 v 4 j 6 w 0 k 20 x 2 l 0 y 1 m 0 z 4 Figur 3: Frekvensen af forekomster af de 26 bogstaver i cifferteksten Den unikke løsning til Z 26 kan nu findes ved at substituerer a med b i den ene ligning: 4a b = 2 b = 22a 2 19a b = 1 19a 22a 2 = 1 15a 2 = 1 11a = 1 a = b = 2 24 b = 2 b = 4 Da størstefællesnævner for a og 26 er 1, er nøglen K = (19, 4) lovlig og den afprøves på cifferteksten for at undersøge om klarteksten er en meningsfuld tekst. Jf. [Sti95, p. 10] så er 19 1 = 11 i Z 26 hvilket giver: hvilket giver klarteksten: d K (y) = 11(y 4) = 11y 8; OCANADATERREDENOSAIEUXTONFRONTESTCEINTDEFLEUR ONSGLORIEUXCARTONBRASSAITPORTERLEPEEILSAITPOR TERLACROIXTONHISTOIREESTUNEEPOPEEDESPLUSBRILL ANTSEXPLOITSETTAVALEURDEFOITREMPEEPROTEGERANO SFOYERSETNOSDROITS Dette er den Canadiske nationalsang som er skrevet på fransk, hvorfor det har været heldigt, at frekvenstabellen for det engelske sprog kunne anvendes. 5
6 5 Litteratur [Sti95] Douglas R. Stinson. Cryptography - Theory and Practice. CRC Press Inc,
7 7 A Kildekode ï» u s i n g System ; u s i n g System. C o l l e c t i o n s. G e n e r i c ; u s i n g System. Text ; u s i n g System. C o l l e c t i o n s ; u s i n g System. Text. R e g u l a r E x p r e s s i o n s ; namespace K r y p t o l o g i c l a s s Program // the a l p h a b e t s t a t i c char [ ] a l p h a b e t = new char [ ] a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z ; //Very crude char > index f u n c t i o n s t a t i c int alphabetindex ( char c ) int i ; f o r ( i = 0 ; i < 26; i) i f ( a l p h a b e t [ i ] == c ) break ; return i ; // p r o b a b i l i t y o f occurance ( e n g l i s h ) s t a t i c double [ ] l e t t e r p r o b = new double [ ] , , , , , , , , , , , , , , , , , , , , , , , , , ; //Performs Kasiski t e s t on a string. // Prints the recurring segment, index of f i r s t occurance and recurrance, and the distance between p r i v a t e s t a t i c void K a s i s k i T e s t ( s t r i n g t e x t ) Hashtable found = new Hashtable ( ) ; Console. Write ( " C i p h e r t e x t \ t a t, r e p e a t a t \ t d i s t a n c e \ r \n" ) ; Console. Write ( " s t r i n g \ t \ t ( i n d e x ) \ r \n\ r \n" ) ; f o r ( int s t a r t = 0 ; s t a r t < t e x t. Length 3 ; s t a r t ) f o r ( int keylength = 3 ; keylength < ( text. Length s t a r t ) ; k e y l e n g t h) s t r i n g segment = t e x t. S u b s t r i n g ( s t a r t, k e y l e n g t h ) ; i f ( found. Contains ( segment ) ) break ; f o r ( int t e s t = s t a r t k e y l e n g t h ; t e s t < t e x t. Length keylength 1 ; t e s t) i f ( segment == t e x t. S u b s t r i n g ( t e s t, k e y l e n g t h ) ) Console. Write ( segment "\ t \ t " s t a r t ", " t e s t "\ t \ t " ( t e s t s t a r t ) " \ r \n" ) ; i f (! found. ContainsKey ( segment ) ) found. Add( segment, n u l l ) ; // C a l c u l a t e s binomial c o e f f i c i e n t public s t a t i c int Binom ( int n, int k ) int [ ] b = new int [ n 1 ] ; b [ 0 ] = 1 ; f o r ( int i = 1 ; i <= n ; i ) b [ i ] = 1 ; f o r ( int j = i 1 ; j > 0 ; j ) b [ j ] = b [ j 1 ] ; return b [ k ] ; // Counts occourances o f a character in a s t r i n g p r i v a t e s t a t i c int C o u n t L e t t e r s ( char c, s t r i n g t e x t ) return t e x t. Length t e x t. Replace ( c. ToString ( ), "" ). Length ; // Prints occurances of each char in char [ ] alphabet in a given s t r i n g p r i v a t e s t a t i c int [ ] P r i n t O c c u r a n c e ( s t r i n g t e x t, b o o l s i l e n t ) int [ ] o c c V e c t o r = new int [ 2 6 ] ; int index = 0 ; f o r e a c h ( char c i n a l p h a b e t ) int occ = C o u n t L e t t e r s ( c, t e x t ) ; occvector [ index ] = occ ; i n d e x; i f (! s i l e n t ) Console. Write ( c " : " occ "\ r \n" ) ; return occvector ; // Calculates M_g according to Stinson p. 35. p r i v a t e s t a t i c void Mg( s t r i n g y ) int [ ] occ = P r i n t O c c ur a n c e ( y, t r u e ) ; int delimeter = 9 ; // only used f o r l a y o u t f o r ( int g = 0 ; g < 26 ; g) double mgi = 0 ; f o r ( int i = 0 ; i < 2 6 ; i ) mgi = ( l e t t e r p r o b [ i ] ( double ) occ [ ( ig ) %26]) / ( double ) y. Length ; Console. Write ( " 0 : F3", mgi ) ; Console. Write ( " & " ) ; i f ( g1 % d e l i m e t e r == 0 ) Console. Write ( "\ r \n" ) ;
8 8 // Encrypts and d e c r y p t s s t r i n g s with the vignã re Cipher //Assumes lower case string i f decrypting and upper case i f encrypting p r i v a t e s t a t i c s t r i n g V i g e n e r e C i p h e r ( s t r i n g t e x t, s t r i n g key, bool d e c r y p t i n g ) s t r i n g r e t u r n t e x t = S t r i n g. Empty ; //Add key i f encrypting, subtract i f decrypting int swich = 1 ; i f ( d e c r y p t i n g ) swich = 1; //Change text to lower case to use the alphabet [ ] and the alphabetindex method. i f (! d e c r y p t i n g ) t e x t = t e x t. ToLower ( ) ; char [ ] chars = text. ToCharArray ( ) ; char [ ] keychars = key. ToCharArray ( ) ; //Apply encryption to p l a i n t e x t / decrypt c i p h e r t e x t f o r ( int i = 0 ; i < t e x t. Length ; i ) int j = ( a l p h a b e t I n d e x ( c h a r s [ i ] ) swich a l p h a b e t I n d e x ( k e y c h a r s [ i % key. Length ] ) ) % 2 6 ; i f ( j <0) j = 2 6 ; r e t u r n t e x t = a l p h a b e t [ j ] ; //Change case to upper i f decrypting i f ( d e c r y p t i n g ) r e t u r n t e x t = r e t u r n t e x t. ToUpper ( ) ; return re turntex t ; // Encrypts and d e c r y p t s s t r i n g s with the Affine Cipher in Z_ 26 //Assumes lower case string i f decrypting and upper case i f encrypting p r i v a t e s t a t i c s t r i n g A f f i n e C i p h e r ( s t r i n g t e x t, int a, int b, bool d e c r y p t i n g ) s t r i n g r e t u r n t e x t = S t r i n g. Empty ; //Change text to lower case to use the alphabet [ ] and the alphabetindex method. i f (! d e c r y p t i n g ) t e x t = t e x t. ToLower ( ) ; char [ ] chars = text. ToCharArray ( ) ; i f ( d e c r y p t i n g ) //a^ 1... I dont know how to compute i t in modulo so I ve j u s t provided a t a b l e switch ( a ) case 1 : a = 1 ; break ; case 3 : a = 9 ; break ; case 5 : a = 2 1 ; break ; case 7 : a = 1 5 ; break ; case 9 : a = 3 ; break ; case 1 1 : a = 1 9 ; break ; case 1 5 : a = 7 ; break ; case 1 8 : a = 2 3 ; break ; case 1 9 : a = 1 1 ; break ; case 2 1 : a = 5 ; break ; case 2 3 : a = 1 8 ; break ; default : return "" ; f o r ( int i = 0 ; i < t e x t. Length ; i ) int y = a l p h a b e t I n d e x ( c h a r s [ i ] ) ; int j = ( a ( y b ) ) % 2 6 ; i f ( j < 0 ) j = 2 6 ; r e t u r n t e x t = a l p h a b e t [ j ] ; //Change case to upper case r e t u r n t e x t = r e t u r n t e x t. ToUpper ( ) ; e l s e // encrypting f o r ( int i = 0 ; i < t e x t. Length ; i ) int y = a l p h a b e t I n d e x ( c h a r s [ i ] ) ; int j = ( a y b ) % 2 6 ; i f ( j < 0 ) j = 2 6 ; r e t u r n t e x t = a l p h a b e t [ j ] ; return ret urntex t ; // Calculates M_g for a l l y_i given a keylength ( use KasiskiTest to f i n d the // k e y l e n g t h ). p r i v a t e s t a t i c void C a l c u l a t e A l l M g ( s t r i n g y, int k e y l e n g t h ) s t r i n g [ ] ys = new s t r i n g [ k e y l e n g t h ] ; ys. I n i t i a l i z e ( ) ; char [ ] c h a r s = y. ToCharArray ( ) ; f o r ( int i = 0 ; i < c h a r s. Length ; i ) ys [ i%k e y l e n g t h ] = c h a r s [ i ] ; Console. Write ( " i \ t v a l u e o f M_g (y_ i ) \ r \n" ) ; f o r ( int i = 0 ; i < k e y l e n g t h ; i ) Console. Write ( "\ r \n" ) ;
9 9 Console. Write ( i 1 "\ t& " ) ; Mg( ys [ i ] ) ; Console. Write ( "\ r \n" ) ; s t a t i c void Main1 ( s t r i n g [ ] a r g s ) Console. Write ( " E x e r c i s e a ) \ r \ n L e t t e r o c c o u r a n c e s : \ r \n" ) ; P r i n t O c c u r a n c e ( " emglosudcgdncuswysfhnsfcykdpumlwgyicoxysipjck " " q p k u g k m g o l i c g i n c g a c k s n i s a c y k z s c k x e c j c k s h y s x c g " " o i d p k z c n k s h i c g i w y g k k g k g o l d s i l k g o i u s i g l e d s p w z u " " g f z c c n d g y y s f u s z c n x e o j n c g y e o w e u p x e z g a c g n f g l k n s " " a c i g o i y c k x c j u c i u z c f z c c n d g y y s f e u e k u z c s o c f z c c n c " " i a c z e j n c s h f z e j z e g m x c y h c j u m g k u c y ", f a l s e ) ; Console. WriteLine ( "\ r \n\ r \ n E x e r c i s e b ) \ r \ n K a s i s k i t e s t : \ r \n" ) ; KasiskiTest ( " kccpkbgufdphqtyavinrrtmvgrkdnbvfdetdgiltxrgud " " dkotfmbpvgegltgckqracqcwdnawcrxizakftlewrptyc " " qkyvxchkftponcqqrhjvajuwetmcmspkqdyhjvdahctrl " " svskcgczqqdzxgsfrlswcwsjtbhafsiasprjahkjrjumv " " gkmitzhfpdispzlvlgwtfplkkebdpgcebshctjrwxbafs " " pezqnrwxcvycgaonwddkackawbbikftiovkcgghjvlnhi " " ffsqesvyclacnvrwbbirepbbvfexoscdygzwpfdtkfqiy " " cwhjvlnhiqibtkhjvnpist " ) ; Console. WriteLine ( "\ r \n\ r \ n E x e r c i s e b ) \ r \ n C a l c u a l t i n g Mg\ r \n" ) ; C a l c u l a t e A l l M g ( " kccpkbgufdphqtyavinrrtmvgrkdnbvfdetdgiltxrgud " " dkotfmbpvgegltgckqracqcwdnawcrxizakftlewrptyc " " qkyvxchkftponcqqrhjvajuwetmcmspkqdyhjvdahctrl " " svskcgczqqdzxgsfrlswcwsjtbhafsiasprjahkjrjumv " " gkmitzhfpdispzlvlgwtfplkkebdpgcebshctjrwxbafs " " pezqnrwxcvycgaonwddkackawbbikftiovkcgghjvlnhi " " ffsqesvyclacnvrwbbirepbbvfexoscdygzwpfdtkfqiy " " cwhjvlnhiqibtkhjvnpist ", 6 ) ; Console. WriteLine ( "\ r \n\ r \ n E x e r c i s e b ) \ r \ ndecrypting : \ r \n" ) ; s t r i n g d e c r y p t = V i g e n e r e C i p h e r ( " kccpkbgufdphqtyavinrrtmvgrkdnbvfdetdgiltxrgud " " dkotfmbpvgegltgckqracqcwdnawcrxizakftlewrptyc " " qkyvxchkftponcqqrhjvajuwetmcmspkqdyhjvdahctrl " " svskcgczqqdzxgsfrlswcwsjtbhafsiasprjahkjrjumv " " gkmitzhfpdispzlvlgwtfplkkebdpgcebshctjrwxbafs " " pezqnrwxcvycgaonwddkackawbbikftiovkcgghjvlnhi " " ffsqesvyclacnvrwbbirepbbvfexoscdygzwpfdtkfqiy " " c w h j v l n h i q i b t k h j v n p i s t ", " c r y p t o ", t r u e ) ; //Lame Console. Write cant print the whole s t i r i n g at once... f o r ( int i = 0 ; i < decrypt. Length ; i = 256) int end = ( i 256 > decrypt. Length? decrypt. Length i : 256) ; Console. Write ( d e c r y p t. S u b s t r i n g ( i, end ) ) ; Console. WriteLine ( "\ r \n\ r \ n E x e r c i s e c ) \ r \ noccurances : \ r \n" ) ; P r i n t O c c u r a n c e ( " kqerejebcppcjcrkieacuzbkrvpkrbcibqcarbjcvfcup " " kriofkpacuzqepbkrxpeiieabdkpbcpfcdccafieabdkp " " bcpfeqpkazbkrhaibkapcciburccdkdccjcidfuixpaff " " erbiczdfkabicbbenefcupjcvkabpcydccdpkbcocperk " " i v k s c p i c b r k i j p k a b i ", f a l s e ) ; Console. WriteLine ( "\ r \n\ r \ n E x e r c i s e c ) \ r \ ndecypting : \ r \n" ) ; Console. Write ( A f f i n e C i p h e r ( " kqerejebcppcjcrkieacuzbkrvpkrbcibqcarbjcvfcup " " kriofkpacuzqepbkrxpeiieabdkpbcpfcdccafieabdkp " " bcpfeqpkazbkrhaibkapcciburccdkdccjcidfuixpaff " " erbiczdfkabicbbenefcupjcvkabpcydccdpkbcocperk " " i v k s c p i c b r k i j p k a b i ", 1 9, 4, t r u e ) ) ; Console. Read ( ) ;
Det er muligt at chekce følgende opg. i CodeJudge: og
Det er muligt at chekce følgende opg. i CodeJudge:.1.7 og.1.14 Exercise 1: Skriv en forløkke, som producerer følgende output: 1 4 9 16 5 36 Bonusopgave: Modificer dit program, så det ikke benytter multiplikation.
Læs mereIteration af et endomorft kryptosystem. Substitutions-permutations-net (SPN) og inversion. Eksklusiv disjunktion og dens egenskaber
Produktsystemer, substitutions-permutations-net samt lineær og differentiel kryptoanalyse Kryptologi, fredag den 10. februar 2006 Nils Andersen (Stinson 3., afsnit 2.7 3.4 samt side 95) Produkt af kryptosystemer
Læs mereKonfidentialitet og kryptografi 31. januar, Jakob I. Pagter
Konfidentialitet og kryptografi 31. januar, 2009 Jakob I. Pagter Oversigt Kryptografi autenticitet vs. fortrolighed ubetinget vs. beregningsmæssig sikkerhed Secret-key fortrolighed Public-key fortrolighed
Læs mereAffine - et krypteringssystem
Affine - et krypteringssystem Matematik, når det er bedst Det Affine Krypteringssystem (Affine Cipher) Det Affine Krypteringssystem er en symmetrisk monoalfabetisk substitutionskode, der er baseret på
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4
DM502 Forelæsning 4 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens
Læs mereAAU, Programmering i Java Intern skriftlig prøve 18. maj 2007
AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal
Læs mereStart i cirklen med nummer 1 - følg derefter pilene:
Bogstaver Bogstavet a Skriv bogstavet a i skrivehusene: Farv den figur som starter med a: Bogstavet b Skriv bogstavet b i skrivehusene: Farv den figur som starter med b: Bogstavet c Skriv bogstavet c i
Læs mereProgrammering i C. Lektion 4. 5. december 2008
Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )
Læs mereRoskilde Universitetscenter, Datalogisk Afdeling Kryptering. Niels Christian Juul. N&P 11: 2001 April 18th
Roskilde Universitetscenter, Datalogisk Afdeling E-mail: ncjuul@acm.org Kryptering Niels Christian Juul N&P 11: 2001 April 18th Om kryptering, DES, RSA, PGP og SSL Copyright 1998-2001, Niels Christian
Læs mereAbstrakte datatyper C#-version
Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype
Læs mereGrundlæggende kryptering og digital signatur 04/09/2012 ITU 2.1
Grundlæggende kryptering og digital signatur 04/09/2012 ITU 2.1 Indhold Terminologi, mål og kryptoanalyse Klassisk kryptering Substitution Transposition (permutation) WWII: Enigma Moderne kryptering Symmetrisk
Læs meresætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb.
sætning: Hvis a og b er heltal da findes heltal s og t så gcd(a, b) = sa + tb. lemma: Hvis a, b og c er heltal så gcd(a, b) = 1 og a bc da vil a c. lemma: Hvis p er et primtal og p a 1 a 2 a n hvor hvert
Læs mereUniversity of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11
DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void
Læs mereKRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi)
KRYPTOLOGI ( Litt. Peter Landrock & Knud Nissen : Kryptologi) 1. Klassiske krypteringsmetoder 1.1 Terminologi klartekst kryptotekst kryptering dekryptering 1.2 Monoalfabetiske kryptosystemer 1.3 Additive
Læs mereUniversity of Copenhagen Faculty of Science Written Exam - 3. April Algebra 3
University of Copenhagen Faculty of Science Written Exam - 3. April 2009 Algebra 3 This exam contains 5 exercises which are to be solved in 3 hours. The exercises are posed in an English and in a Danish
Læs mereSekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen
Sekvensafstand DM34 - Eksamensopgave Jacob Aae Mikkelsen 19 10 76 kokken@grydeske.dk 27. maj 2005 Resumé Rapporten her beskriver tre forskellige rekursive metoder til at sammenligne tekst strenge med.
Læs mereKapitel 3 Betinget logik i C#
Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret
Læs mereWorkshop: Blockchain og dets potentiale. Professor Jan Damsgaard VÆKSTHUS MIDTJYLLAND 11. juni, 2018
Workshop: Blockchain og dets potentiale Professor Jan Damsgaard VÆKSTHUS MIDTJYLLAND 11. juni, 2018 1 Der var en gang Møllegården var ejet af familien møller Det vidste alle og der var ingen grund til
Læs mereJava Klasse nedarvninger
Denne guide er oprindeligt udgivet på Eksperten.dk Java Klasse nedarvninger Et let lille overblik i hvordan klasse nedarvning virker i java Skrevet den 07. dec 2011 af mochners I kategorien Programmering
Læs mereStart på Arduino og programmering
Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1 Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget
Læs mereKryptologi og RSA. Jonas Lindstrøm Jensen (jonas@imf.au.dk)
Kryptologi og RSA Jonas Lindstrøm Jensen (jonas@imf.au.dk) 1 Introduktion Der har formodentlig eksisteret kryptologi lige så længe, som vi har haft et sprog. Ønsket om at kunne sende beskeder, som uvedkommende
Læs mereIntroduktion til Kryptologi
Introduktion til Kryptologi September 22, 2014 Kryptologi Datasikkerhed Sikker kommunikation over usikre kanaler Kryptografi: Bygge systemer Kryptoanalyse: Bryde systemer Avancerede Protokoller Data er
Læs mereHeuristics for Improving
Heuristics for Improving Model Learning Based Testing Muhammad Naeem Irfan VASCO-LIG LIG, Computer Science Lab, Grenoble Universities, 38402 Saint Martin d Hères France Introduction Component Based Software
Læs mereØvelse 9. Klasser, objekter og sql-tabeller insert code here
Øvelse 9. Klasser, objekter og sql-tabeller Denne opgave handler om hvordan man opbevarer data fra databasekald på en struktureret måde. Den skal samtidig give jer erfaringer med objekter, der kommer til
Læs mereKursusarbejde 3 Grundlæggende Programmering
Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................
Læs mereBemærk, der er tale om ældre versioner af softwaren, men fremgangsmåden er uændret.
Check dine svar på: https://dtu.codejudge.net/02101-e18/ Exercise 1: Installer Eclipse og Java. Dette kan f.eks. gøres ved at følge instuktionerne i dokumentet eclipse intro.pdf som ligger under Fildeling
Læs mereKøreplan Matematik 1 - FORÅR 2005
Lineær algebra modulo n og kryptologi Køreplan 01005 Matematik 1 - FORÅR 2005 1 Introduktion Kryptologi er en ældgammel disciplin, som går flere tusinde år tilbage i tiden. Idag omfatter disciplinen mange
Læs mereRekursion og dynamisk programmering
Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.
Læs merePrivat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende
Changes for Rottedatabasen Web Service The coming version of Rottedatabasen Web Service will have several changes some of them breaking for the exposed methods. These changes and the business logic behind
Læs mere1.1 Formål Webservicen gør det muligt for eksterne parter, at fremsøge informationer om elevers fravær.
EfterUddannelse.dk FraværService - systemdokumentation BRUGERDOKUMENTATION: WEB-SERVICE Af: Logica Indhold 1. Indledning... 1 1.1 Formål... 1 1.2 Webservice version... 1 1.3 Historik... 1 2. Absence Webservice...
Læs mereKomplekse tal og Kaos
Komplekse tal og Kaos Jon Sporring Datalogisk Institut ved Københavns Universitet Universitetsparken 1, 2100 København Ø August, 2006 1 Forord Denne opgave er tiltænkt gymnasiestuderende med matematik
Læs mereModerne numerische Methoden der Festkörperphysik Lanczos-ED für die AF Heisenberg-Kette
Moderne numerische Methoden der Festkörperphysik Lanczos-ED für die AF Heisenberg-Kette Programmcode gen matrix Lanczos Bedienung des Programms Konvergenz des Lanczos-Verfahrens Grundzustandsenergien der
Læs mereKoder og kryptering. Foredrag UNF 4. december 2009 Erik Zenner (Adjunkt, DTU)
Koder og kryptering Foredrag UNF 4. december 2009 Erik Zenner (Adjunkt, DTU) I. Indledende bemærkninger Hvad tænker I på, når I hører kryptologi? Hvad tænker jeg på, når jeg siger kryptologi? Den matematiske
Læs mereFredag 12. januar David Pisinger
Videregående Algoritmik, DIKU 2006/07 Fredag 2. januar David Pisinger Kryptering Spartanere (500 f.kr.) strimmelrulle viklet omkring cylinder Julius Cæsar: substituering af bogstaver [frekvensanalyse]
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDet teknisk-naturvidenskabelige basisår Matematik 1A, Efterår 2005, Hold 3 Prøveopgave C
Det teknisk-naturvidenskabelige basisår Matematik 1A, Efterår 2005, Hold 3 Prøveopgave C Opgaven består af tre dele, hver med en række spørgsmål, efterfulgt af en liste af teorispørgsmål. I alle opgavespørgsmålene
Læs mereSkriftlig Eksamen Diskret matematik med anvendelser (DM72)
Skriftlig Eksamen Diskret matematik med anvendelser (DM72) Institut for Matematik & Datalogi Syddansk Universitet, Odense Onsdag den 18. januar 2006 Alle sædvanlige hjælpemidler (lærebøger, notater etc.),
Læs mereProgrammeringscamp. Implementer funktionerne én for én og test hele tiden.
Programmeringscamp De to opgaver træner begge i at lave moduler som tilbyder services der kan bruges af andre, samt i at implementere services efter en abstrakt forskrift. Opgave 1 beder jer om at implementere
Læs mereKursus navn: Indledende programmering Kursus nr. 02101
Danmarks Tekniske Universitet Side 1 af 8 sider Skriftlig prøve, den 15. december 2007 Kursus navn: Indledende programmering Kursus nr. 02101 Tilladte hjælpemidler: Alle skriftlige hjælpemidler Vægtning
Læs mereForelæsning 17, tirsdag 2. november 1999 Søgning efter en given værdi i en tabel. Programmering 1999
sammenligninger, hvor Programmering 1999 Forelæsning 17, tirsdag 2 november 1999 Søgning efter en given værdi i en tabel Lineær søgning og binær søgning Effektivitet: maskinuafhængig vurdering af køretid
Læs mereProgrammering i C. Lektion september 2009
Programmering i C Lektion 1 8. september 2009 Målgruppe Motivation Indhold Form Materiale 2 / 47 Kursusintroduktion 1 Målgruppe 2 Motivation 3 Indhold 4 Form 5 Materiale Målgruppe Motivation Indhold Form
Læs mereAf Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk
Af Marc Skov Madsen PhD-studerende Aarhus Universitet email: marc@imf.au.dk 1 Besøgstjenesten Jeg vil gerne bruge lidt spalteplads til at reklamere for besøgstjenesten ved Institut for Matematiske Fag
Læs mereKryptologi 101 (og lidt om PGP)
Kryptologi 101 (og lidt om PGP) @jchillerup #cryptopartycph, 25. januar 2015 1 / 27 Hvad er kryptologi? define: kryptologi En gren af matematikken, der blandt andet handler om at kommunikere sikkert over
Læs mereBasic statistics for experimental medical researchers
Basic statistics for experimental medical researchers Sample size calculations September 15th 2016 Christian Pipper Department of public health (IFSV) Faculty of Health and Medicinal Science (SUND) E-mail:
Læs mere#AlleKanKode. Lektion 2 - Konstanter og Variabler
#AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger
Læs mereIntroduktion til Kryptologi. Mikkel Kamstrup Erlandsen
Introduktion til Kryptologi Mikkel Kamstrup Erlandsen Indhold 1 Introduktion 2 1.1 Om Kryptologi.......................... 2 1.2 Grundlæggende koncepter.................... 2 1.3 Bogstaver som tal........................
Læs mereIntroduktion til funktioner, moduler og scopes i Python
Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for
Læs mereComponent based software enginering Diku 2005 Kritikopgave
Component based software enginering Diku 2005 Kritikopgave Nicolas Møller Henschel 17. april 2005 1 Indhold 1 Indledning 3 2 Indhold 3 2.1 Introduktionen.......................... 3 2.1.1 Mangler..........................
Læs mereLøsning af skyline-problemet
Løsning af skyline-problemet Keld Helsgaun RUC, oktober 1999 Efter at have overvejet problemet en stund er min første indskydelse, at jeg kan opnå en løsning ved at tilføje en bygning til den aktuelle
Læs mereSentinel (Dynamisk IP) til ZyWALL (Statisk IP) VPN Tunnel
Sentinel (Dynamisk IP) til ZyWALL (Statisk IP) VPN Tunnel 1. Opsætning af ZyWALL VPN 2. Opsætning af SSH Sentinel Denne side giver en gennemgang af opsætning af VPN mellem Sentinel software klient v1.4
Læs mereDM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11
DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4
Læs mereDanskhjælpen er en lille opslagsgrammatik. Her kan du læse om de grammatiske emner, før eller imens du arbejder med dine Grammar-opgaver.
Danskhjælpen Danskhjælpen er en lille opslagsgrammatik. Her kan du læse om de grammatiske emner, før eller imens du arbejder med dine Grammar-opgaver. Adjektiver (At Risk) 2 Present Continuous (What s
Læs mereIt og informationssøgning Forelæsning december 2006 Jakob Grue Simonsen. Diverse emner af almen interesse
It og informationssøgning Forelæsning 12 6. december 2006 Jakob Grue Simonsen Diverse emner af almen interesse 1 Gemme objekter til filer I python skal en fil på disken åbnes, før man kan læse eller skrive
Læs mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003
Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,
Læs merePROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;
PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;
Læs mereDen forudsætter kendskab til C++ og lidt kendskab til SQL og MySQL C API.
Denne guide er oprindeligt udgivet på Eksperten.dk Brug af MySQL i C++ Denne artikel bygger ovenpå artiklen "MySQL C API" og forklarer hvordan man kan programmere mere objekt orienteret. Den forudsætter
Læs merePHP 3 UGERS FORLØB PHP, MYSQL & SQL
PHP 3 UGERS FORLØB PHP, MYSQL & SQL Uge 1 & 2 Det basale: Det primære mål efter uge 1 og 2, er at få forståelse for hvordan AMP miljøet fungerer i praksis, og hvordan man bruger PHP kodesproget til at
Læs mereUgeseddel 4 1. marts - 8. marts
Ugeseddel 4 1. marts - 8. marts Læs følgende sider i kapitel 6 i lærebogen: s. 233 258 og s. 291 317 (afsnit 6.3 overspringes). Begynd at overveje, hvad afleveringsopgaven skal omhandle. Læs vejledningen,
Læs mereB. Appendex: Data Encryption Standard.
DES B.1 B. Appendex: Data Encryption Standard. (B.1). Data Encryption Standard, også kaldet DES, er en amerikansk standard for kryptering af data. En kort beskrivelse af DES er medtaget her, fordi DES
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereI denne artikel vil vi bruge en User klasse som vi så vil gruppere på forskellige måder.
Denne guide er oprindeligt udgivet på Eksperten.dk Collections i.net Når du kigger i namespacet System.Collections finder du over 10 forskellige klasser. At vælge den rigtige til netop din applikations
Læs mere//--------------------------------- Definition af porte og funktioner -------------------------
Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4
Læs mereapplikation----x----odbc driver manager----foobar ODBC driver----foobar database
Denne guide er oprindeligt udgivet på Eksperten.dk ODBC i C/C++ Denne artikel beskriver hvordan man bruger ODBC i C/C++. Der er beskrivelse af build med forskellige compilere. Den forudsætter lidt kendskab
Læs mereKrypter dine mails når det er nødvendigt
Krypter dine mails når det er nødvendigt Af Thomas Bødtcher-Hansen Hvor og hvornår skal vi kryptere vores mails? De paranoide mennesker krypterer alle deres mails og de naive mennesker ingen af deres mails.
Læs mereSkriftlig Eksamen Algoritmer og Datastrukturer (DM507)
Skriftlig Eksamen Algoritmer og Datastrukturer (DM507) Institut for Matematik og Datalogi Syddansk Universitet, Odense Onsdag den 0. juni 009, kl. 9 Alle sædvanlige hjælpemidler (lærebøger, notater, osv.)
Læs mereMålet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.
Merging og hashing Mål Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt. Dette emne er et uddrag af kurset DM507 Algoritmer og datastrukturer (2. semester). Mål
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereProgrammeringskursus Kursusaften 3. Programmering for begyndere Brug af Arduino. Display. Kursusaften 3 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK
Programmering for begyndere Brug af Arduino Programmeringskursus Display EDR Hillerød Knud Krogsgaard Jensen / OZ1QK Programmering for begyndere Brug af Arduino Programmeringskursus Sidste gang havde vi
Læs mereLøsningsforslag Skriftlig eksamen 9. januar 2012
Løsningsforslag Skriftlig eksamen 9. januar 2012 Version 1, 2012-01-09 Spørgsmål 1 Spørgsmål 1.1 Først laver vi indlysende korrekt NFAer for hver af de to dele (ddd ddd) og (_ddd)* af det givne regulære
Læs mereKursusarbejde 2 Grundlæggende Programmering
Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................
Læs mereEn karakteristik af de regulære sprog. Ugens emner. FA minimering [5.1-5.2] MyHill-Nerode-sætningen en algoritme til minimering af FA er
Ugens emner FA minimering [.-.] MyHill-Nerode-sætningen en algoritme til minimering af FA er En karakteristik af de regulære sprog Et sprog L er regulært hvis og kun hvis L beskrives af et regulært udtryk
Læs mereb) Udvid din implementation af forme til at understøtte.equals. To objekter af samme form er ens hvis de har samme værdier i felterne.
Exercise 1: Opgave 9.1 på CodeJudge. a) Lav klasserne Cirkel, Rektangel og Kvadrat, som implementerer vedhæftede interface From.java (se CodeJudge). Lav Rektangel før du laver Kvadrat. Kan du bruge nedarvning
Læs mereKursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.
Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske
Læs mereDANMARKS TEKNISKE UNIVERSITET
DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September
Læs mereHistorisk Kryptografi
Historisk Kryptografi Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på nogle af de kryptografiske teknikker der er blevet benyttet igennem historien,
Læs mereIntroduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010
Introduktion til MatLab Matematisk Modellering af Dynamiske Modeller ved Kasper Bjering Jensen, RUC, februar 2010 Computere er uvurderlige redskaber for personer der ønsker at arbejde med matematiske modeller
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereModern Concurrency Abstractions for C#
Modern Concurrency Abstractions for C# Nick Benton Luca Cardelli Cédric Fournet Presenter: Henrik Kragh-Hansen September 27, 2007 Motivation for concurrency Forbedring af concurrency Baggrundsinformation
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del III Institut for matematik og datalogi Syddansk Universitet 10. april, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereextreme Programming Kunders og udvikleres menneskerettigheder
extreme Programming Software Engineering 13 1 Kunders og udvikleres menneskerettigheder Kunder: At sætte mål og få projektet til at følge dem At kende varighed og pris At bestemme softwarefunktionalitet
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning
Læs mereDanmarks Tekniske Universitet
side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave
Læs mereCivilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104
Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave
Læs mereLinear Programming ١ C H A P T E R 2
Linear Programming ١ C H A P T E R 2 Problem Formulation Problem formulation or modeling is the process of translating a verbal statement of a problem into a mathematical statement. The Guidelines of formulation
Læs mereSQL Server 2016 Data Adgang
SQL Server 2016 Data Adgang MSBIP, 5. OKTOBER, 2015 Agenda SQL Server 2016 CTP 2.3 Pragmatisk Data Adgangskontrol Row Level Security Dynamic Masking Kombination af begge Alternativet Hvem er jeg Selvstændig
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereProgrammering og Problemløsning, 2017
Programmering og Problemløsning, 2017 Input og Output Martin Elsman Datalogisk Institut Københavns Universitet DIKU 27. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 27. November,
Læs mereNavn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi C Opgave: Brev til Sigurd Lære: John Austin Side 1 af 13 Dato:
Side 1 af 13 Dato: 03-06-03 Til Sigurd Som aftalt får du nu tilbygningen til 80C535 kittet, keyboard og programmet med programopdatering. Den sidste opgave her, gik så ud på at tilslutte et tastatur, og
Læs mereKursus i OOP og Java. Kursus i Objektorienteret programmering i Java
Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger
Læs merePortal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration
Portal Registration Step 1 Provide the necessary information to create your user. Note: First Name, Last Name and Email have to match exactly to your profile in the Membership system. Step 2 Click on the
Læs mereStarWars-videointro. Start din video på den nørdede måde! Version: August 2012
StarWars-videointro Start din video på den nørdede måde! Version: August 2012 Indholdsfortegnelse StarWars-effekt til videointro!...4 Hent programmet...4 Indtast din tekst...5 Export til film...6 Avanceret
Læs mereName: Week of April 15 MathWorksheets.com
Get a fidget spinner! Spin it. I needed to spin time(s) to finish. Spin again. Add. Complete each number bond. I needed to spin time(s) to finish. How many times do you need to spin? I needed to spin time(s)
Læs mereForelæsning Uge 4 Mandag
Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde
Læs mereWebsite review groweasy.dk
Website review groweasy.dk Generated on September 01 2016 10:32 AM The score is 56/100 SEO Content Title Webbureau Odense GrowEasy hjælper dig med digital markedsføring! Length : 66 Perfect, your title
Læs mereStudiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen
Studiepraktik Thomas Bøgholm boegholm@cs.aau.dk Mikkel Hansen mhan@cs.aau.dk Jacob Elefsen jelefs12@student.aau.dk 1 Studiepraktik -- program Program onsdag 10.00 10.15 Registrering af fremmøde og gennemgang
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDifferential Evolution (DE) "Biologically-inspired computing", T. Krink, EVALife Group, Univ. of Aarhus, Denmark
Differential Evolution (DE) Differential Evolution (DE) (Storn and Price, 199) Step 1 - Initialize and evaluate Generate a random start population and evaluate the individuals x 2 search space x 1 Differential
Læs mereRekursion C#-version
Note til Programmeringsteknologi Akademiuddannn i Informationsteknologi Rekursion C#-version Finn Nordbjerg 1 Rekursion Rekursionsbegrebet bygger på, at man beskriver noget ved "sig selv". Fx. kan tallet
Læs mere