Sind OpenSSL-Zertikate mit Exponent 3 unsicher?

Größe: px
Ab Seite anzeigen:

Download "Sind OpenSSL-Zertikate mit Exponent 3 unsicher?"

Transkript

1 Sind OpenSSL-Zertikate mit Exponent 3 unsicher? Annie Yousar 2006-October-19 In OpenSSL erzeugt man Zertikate mit RSA-Schlüsseln (zum Beispiel mit 3096 Bit) mit dem Kommando openssl req -x509 -newkey rsa:3096. Dabei wird seit mehreren Versionen für den RSA-Schlüssel 65537=0x10001=F4, die vierte Fermatsche Zahl, als Standard-Exponent benutzt. Man kann aber auch erst den Schlüssel erzeugen openssl genrsa -out newkey.rsa -text 3096 und dann mit openssl req -x509 -key newkey.rsa in ein Zertikat 1 einbinden. Wenn man keine weitere Option angibt, wird bei der Schlüsselerzeugung ebenfalls der Standard-Exponent verwendet. Durch die Angabe der Option -3 kann man auch noch den Exponenten 3 erhalten, andere Exponenten sind aber für die Schlüsselerzeugung nicht vorgesehen. Nach der Sicherheitswarnung 2 werden nun OpenSSL-Zertikate mit RSA-Exponenten 3 und PKCS#1 als unsicher betrachtet. Was dieser von Daniel Bleichenbacher auf der Crypto 2006 vorgestellte Angri darstellt, wird durch diese Sicherheitswarnung nicht richtig beschrieben. Eine bessere Darstellung ist die von Thomas Ptacek (Matasano Team) im Netz 3. Natürlich könnte man für eine Verikation das PKCS#1 Padding vor der Hashwert-Berechnung entfernen. Man muss dann aber seine Länge kontrollieren. Der Angri von Bleichenbacher ist nur deshalb bei OpenSSL und anderen Produkten möglich, weil diese die Prüfung, ob Padding und DigestInfo zusammen auch wirklich alle entschlüsselten RSA-Daten ergeben, nicht implementiert hatten. Ein stark verkürztes Natürlich ist der hier von mir verwendete Name Yousar ein Pseudonym. Ich wollte schon immer im Alphabet etwas weiter hinten stehen. Man fällt so weniger auf. 1 Dies sind hier der Einfachheit halber gleich selbstsignierte Zertikate. Normalerweise würde man nicht das Zertikat, sondern erst nur einen PKCS#10-Request erzeugen. 2 Es heiÿt darin: OpenSSL before 0.9.7, before 0.9.7k, and before 0.9.8c, when using an RSA key with exponent 3, removes PKCS1 padding before generating a hash, which allows remote attackers to forge a PKCS #1 v1.5 signature that is signed by that RSA key and prevents OpenSSL from correctly verifying X.509 and other certicates that use PKCS#

2 Padding mit zusätzlichen Daten nach der DigestInfo wurde ohne diese Kontrolle nicht als Angri erkannt, sondern als gültige Signatur bewertet. Im Quelltext von openssl/crypto/rsa/rsa_sign.c waren das die Zeilen i=rsa_public_decrypt((int)siglen,sigbuf,s,rsa,rsa_pkcs1_padding); const unsigned char *p=s; sig=d2i_x509_sig(null,&p,(long)i); Sie wurden nun durch eine zusätzliche Verikation /* Excess data can be used to create forgeries */ if(p!= s+i) { RSAerr(RSA_F_RSA_VERIFY,RSA_R_BAD_SIGNATURE); goto err; ergänzt. Man prüft nun, ob das Ende s + i der angeblichen Signatur s nach der Transformation von p in die Signatur sig auch tatsächlich erreicht wurde. Nebenbei wird jetzt auch eine Prüfung der (normalerweise mit NULL belegten) Algorithmen-Parameter gemacht, die bisher immer übergangen wurde. An dieser Stelle im DigestInfo hätte man sonst ebenfalls Daten einbringen können, die eine eigentlich ungültige Signatur als korrekte erscheinen lassen. Die von OpenSSL erzeugten Zertikate mit dem RSA-Exponenten 3 sind aber deshalb nicht unsicher, sie wurden bisher nur von OpenSSL falsch geprüft. Dieser Fehler hat bei Zertikaten mit gröÿeren Exponenten auch keine Auswirkungen. Nur beim Exponenten 3 können gefälschte Zertikate und gefälschte Signaturen konstruiert werden, die die bisherige Verikationsroutine von OpenSSL als gültig akzeptiert. Das Problem ist damit behoben. Die vage Unsicherheit bei kleinen Exponenten, die bei der RSA-Verschlüsselung in anderem Zusammenhang seit einigen Jahren schon bekannt ist, sollte uns aber dazu anregen, kleine Exponenten nicht mehr zu verwenden. Der damit verbundene Vorteil einer schnellen Verikation ist sogar im Vergleich mit einem zufälligen 32-Bit Exponenten nicht sehr groÿ. Leider lässt OpenSSL bei der Schlüsselerzeugung in der Form usage: genrsa [args] [numbits] über die Argumente nur 3 oder F4=0x1001 als RSA-Exponenten zu. Wäre es nicht an der Zeit, das zu verändern? Diese Frage stellt sich um so mehr, da in den Version der Typ des öentlichen Exponenten nicht wie vorher unsigned long sondern BIGNUM ist. Es geht erstaunlich einfach. In einer ganz normalen OpenSSL-Distribution muss man in der Datei openssl/apps/gen_rsa.c im Wesentlichen folgende Veränderungen vornehmen: 1. in der Erzeugungsroutine ist if (strcmp(*argv,"-exponent") == 0) BN_hex2bn(&bn,*(++argv)), 2

3 2. entsprechend in der Hilferoutine ist als Erläuterung -exponent x use x (odd hex number) for the E value 3. und in der Ausgaberoutine ist für gröÿere Exponenten BN_print(bio_err,rsa->e); zu ergänzen und zugleich die Option -3 zu streichen. Die vollständige diff-ausgabe ndet man am Ende. Sicher lassen sich noch einige Fehlerfälle besser behandeln. Für den Anfang reicht das jedoch aus. Es gibt damit nun eine neue Option -exponent, mit der man RSA-Schlüssel zum Beispiel für den Exponenten 0x4159="AY" oder auch 0x erzeugen kann. Man beachte dabei, dass der Exponent nicht gerade sein darf, der RSA funktioniert dann nämlich nicht, aber nicht unbedingt eine Primzahl sein muss. Zwar könnte sich daraus eine Verlängerung bei der Schlüsselerzeugung ergeben, man wird das aber normalerweise nicht bemerken. So sind meine eigentlichen Favoriten für die Exponenten 0x416E6E6965="Annie" oder 0x416E6E2059="Ann Y" beides keine Primzahlen. Leider kann ich diese schönen 39-Bit- Exponenten aber nicht in einem Zertikat unter Windows verwenden, da RSA-Schlüssel mit Exponenten, die länger als 32 Bit sind, angeblich 0-Bit-Schlüssel sind. Übrigens ein bekannter Darstellungsfehler, zu dem mir von so genannten Experten mit der Gegenfrage Wer braucht denn eigentlich solche Schlüssel? geantwortet wurde. Ein so erzeugter 1024-Bit-Schlüssel ist -----BEGIN RSA PRIVATE KEY----- MIICXQIBAAKBgQCyfM4hCs9JwwzvAQ+W7gAhNZEVXqQOXuiDgXJc891kkio7VXQ0 IajfNLgxTAr4zGHkcZ75uUXfmuVH6j8nC99Efpj3N2epwRI/iUourXNYY+L9guJp L6fwUbgMpddoRg04FRQn5ExscF6gBiZWxpoGPL8w/8oLq/roB1zIkz/OnwIFQW5u awucgybiht+9psxir36dqswgycb+dzngseh02bb05tn0neafry1zracedcybnwxp WiVJLMzzOsRbcFKCNJnJsSN6edtxN407gdRJdYwMnYeoCat7InPnhH1GzrrlzyLD TXEfymR1Dtx9/g3/GAzCx+BckMlkxGOOjWw9SEanZyBnCY6PZQJBANbsLnYsb3ve 3ObPj2445P/tVRUvgHj7barTK/WHtr8xModWGbjEKnKYSGztHPSPdG8zGHnQsZQV imalz3+k2sucqqdumeonuun5m7roxt0v8t+krksgm5c3jscv23tjecd3rswtre8u oeo/uddqetvlwsdisjwvjry0l1yac6oilmotakbccv1z26nyatjza2j5j5u72yqs cv+qizn5e6+aqlttwejjjohb6slefj/wmhqvqj1b9noyt+rvcuhmacecft9jakbg ZzaXn0Tg7HogvXjP6PnJweNhVYkMo2L9d+xmD8wmMWI01EbnnMKfvt2bG09/kd1b aladqx2zgpy6+lvgofexakbnqkukxj+6dlnycwbjysvswoncjwbhkyy5dvo8giqc JQIa4yP4wpkNj7LX3D8jB26n8u/Fxa9pgzfSijUJnZUq -----END RSA PRIVATE KEY----- Er wird unter OpenSSL auch völlig korrekt angezeigt 4. Den Exponenten "Annie" erhält man aus einem solchen 2048-Bit-Schlüssel durch openssl rsa -outform DER tail -c+142 head -c+5 Die hier verwendete Zahl 142 ergibt sich aus der Header-Länge der Schlüssel-Sequence (4 Byte), der Versionsangabe (3 Byte), der Header-Länge des Moduls (3 Byte), der Modul- Länge selbst (129 Byte) und der Länge des Exponenten-Headers (2 Byte). 4 Das Kommando dafür ist openssl rsa -text -noout. 3

4 Anhang $ diff -U2 -b openssl-0.9.8c/apps/genrsa.c openssl-0.9.8c.neu/apps/genrsa.c --- openssl-0.9.8c/apps/genrsa.c :42: openssl-0.9.8c.neu/apps/genrsa.c ,7 int ret=1; int i,num=defbits; - long l; + unsigned long l; const EVP_CIPHER *enc=null; - unsigned long f4=rsa_f4; char *outfile=null; char *passargout = NULL, *passout = -135,8 outfile= *(++argv); - else if (strcmp(*argv,"-3") == 0) - f4=3; else if (strcmp(*argv,"-f4") == 0 strcmp(*argv,"-f4") == 0) - f4=rsa_f4; + if(!bn_set_word(bn, RSA_F4)) goto err; + + else if (strcmp(*argv,"-exponent") == 0) + if (--argc < 1) goto bad; else ++argv; + if(bn_hex2bn(&bn,*argv)!= strlen(*argv)) + BIO_printf(bio_err,"Wrong hex value\n"); + goto bad; + + if (!BN_is_odd(bn)) + BIO_printf(bio_err,"Error, exponent must be an odd number\n"); + goto bad; + + #ifndef OPENSSL_NO_ENGINE else if (strcmp(*argv,"-engine") == -207,5 BIO_printf(bio_err," -passout arg output file pass phrase source\n"); BIO_printf(bio_err," -f4 use F4 (0x10001) for the E value\n"); - BIO_printf(bio_err," -3 use 3 for the E value\n"); + BIO_printf(bio_err," -exponent x use x (odd hex number) for the E value\n"); #ifndef OPENSSL_NO_ENGINE BIO_printf(bio_err," -engine e use engine e, possibly a hardware -259,5 num); - if(!bn_set_word(bn, f4)!rsa_generate_key_ex(rsa, num, bn, &cb)) + if(!rsa_generate_key_ex(rsa, num, bn, &cb)) goto -275,5 l+=rsa->e->d[i]; 4

5 - BIO_printf(bio_err,"e is %ld (0x%lX)\n",l,l); + BIO_printf(bio_err,"e is "); + if (BN_num_bits(rsa->e) <= BN_BITS2) + BIO_printf(bio_err,"%lu (0x%lX)\n",l,l); + + else + BIO_printf(bio_err,"0x"); + BN_print(bio_err,rsa->e); + BIO_printf(bio_err," (%d Bits)\n",BN_num_bits(rsa->e)); + + { PW_CB_DATA cb_data; -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.1 (MingW32) owglwx2mlflvzwefx0zykcryh1xm31t6xn9/zuy/t7o73dm9mz0fpt3fh9vruf11u7umq2/v3krqz20ffqgajlr8y9bionz8ousiiwommrojeomba4kfytw+4bjmveye EAbwnHur+mPmvV0ivftmpqvqnnvuOb9zzu+c+rXZ173mjY995sUPLPDEdz7+2B9Efqr6uGlRZtvGOe1ayYhDuwX3sx+taKbqtihzVEOx7eficcsJKSlLsSh/fqBwR1cN OpyduV1hZk03qD07U3FtailqU6nT5w7izw9qJnMoU4fTdwzF0Vnm+YHOLPfm7QGrU95S2LWrLjfEXhOXVBXl29cvH4Tx8rXlDWq0qbhoU8egrO40KpbC7aZuDVKWQyzD tqkcklr0jv+68azonldficzuwu1f0xztuw0wczq65jqgcbu1nlplapqta7sl8lrobue43h/i4gbv6w1nel++2jetf2uskhzrytwnjhyoa+vczoigwavronr4e3ag4gdq adtwcdoij8qhqtwsglrtdiadcsd9pmikqwven8ok7tawydwu7oqyyjrcd1ocuaptbofxbadn0iflkdqt6lupkuyjr15zdddlyb+mshyaa/v7w+ezchiq6u3fowb2hxs6 lslgauksl9m62qd8gwer12myfjbltkfk1hrthd9giq2fne1bsxguuafpe9cuajsthg4/2iydofcbcrcurmgpktkipejbvmmgpqwj1dnstnmmrmayxitciicmyxogpg2r DRCht1ogTG+RrGE1lCp1CHU6ik06FAyGWyHAZ2dshzYoi5BthZHafVhPbBOeYTpgmShuLYIWq2hw0kEiFlsI76iOWaU8HM/g9ZbSpMI+4lS6PTYqKOv0PGMXmW85Qnmf unuak2x33yp7+9nwvtowrmybgowe+m6l5cgi1akhhkjgmgskpzvzszp4fabjns0winjm4smwwdui7vdsauh0kos76vighaf1tdoj3fbuoprgbbfkwsw66ehcizzyhbro g1nakdmi3nbro6r2xwefnq0bhhaq7zidhxq6ubgc68zjsvh8etu1dbenxn0gp8khvjedooaoss6uhheiimgtfqf0vbgwhogmspnr9b3pg6bcwcuggfoffaqaoekd0e6e DdF5DzkzXIdDkrDpOkQeOiK+o8LCgEFc5gKYNdgJzfpqpkO7jSWJ5TpD/E04sFIzTYdBJA/yOrWJjcEiwIyoLuispqiNBpq4oRhwtNmZukER+HCcqu3Yep1Ji01AIkJK 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 b2d3g8el9wyjdfy4ornc3tlx9xz9zendyssbtd1cpdrzjukprewivtqqdw+ypnvfw2+qz4tp9/ck1nkp1hculthkjloowrfjuojanb1ivd80xx5soj0nbmxq7oylpwwt 1DqH1fq2pWnmXj2WWt3bZelC11ZXF+o5/ewYQLBW3lrqRJfMrcsoN3PxfrHZj+6wTnF19zjtSinK8eFK/TRXbDjBTHm/q+8lF7RLu7N2ulIN5vtszabrsUQuF0sfsBgr KKv8NN7fy6qFvNqrlmAPKeVYP9rY2u73d+y9qrq6uVLaYBv2fmmBak63lIot1rW9De20s81OqbmiOItFVmaN9fhan3Oj39vKSykHJ4Var7UXzzvdTLSejK5l+yvdYE5t bhvn7trozsvxj7nfunhzl8dwthfkz7sbuwypam+xu7uabfmpjbltlv8kuql0oeoc7r226+sxi1wfh2xgj9cdvttdnrxjtepfyzntnu6v9z318n5zw1scr7bd+2z3serr W8rWWTLYTNiHK7u7+cMWNUuuy9Lbi3yn68TaSwfBTd6017bTanJjf6WdSB5cFFa0JN/vOLywdCilmNSMHmr5S3pwZHRsrWhfHB9t7PViRvw0qy7sFI2WeZBt5lbUdvws svdqzq8u+tnerxojfbiyon3dl1ludnbx75fsdcgoxg45b53cxswf2cgt7buf2ka0s71+exr5ec9lmhl6eottfbexraiflvunswhs61lkwv85ybgd+uk6ww+fxjqxymyj Q0uNo9PmtpnYymjBbiu/1GltHxdj8UKVse3NWttJVNdimWhTi1c9vBiKdnmSOFuzegtB42htZ5V2YQ92uek2uxfBhbzBeupx7uLUPtrv7JRWNjq59c1eL60dmUv14u6K llkxw1rsvxkqyzvlf4tbj8n80kuusccw3ohqv8ly9x5tx7843gbnh5ct4vko5r8rniliteq0pamuy4jineomfitt+wg2rmsbiigs2ieum/msewqp/+yxciywdkfcvso9 eok5evezzizqnjllz093apjfe2wlgq/r7hse6/gqzmvlcowkyqmlaylltbbhndxu1raljptivrbhxicoav1iwa3guwn41qckht/sfz+sifelo3ed8puxwyeh9iixesub drikgjzthpzj+amapbe8jy86mupjievypyfoe+zca5nsrb5pdcqn7l4xaboiqxei9frt4ql3khx3ozsticcy8hlbr/gxszsxocnyb5cyke+lqlcxqyps584gk/r74cqb Fnyz8rBycIsgUSXhwwQJV/031mH5CnDUIIn+iFy7GwECOf3E7Azg81VkiA++qwrj/xkSX7ybStyNxyIx/0OCMbg/OxMMBl91RzIpMB4LxxJQCe/Gk3djS77A2ZlnnyXh TDq0SILwc4E8+6yX9YBAcuosx++Nv+sh6ByW84XVXPFgH66H4Tr2rsSAL0HsdyY7WnFVJC0x9Ssclc9XiuV1AOgdgMwyDiI9GdPLaikx619N+cvFdB4BrhvUXza+YQHv hw4o7pnliib08tr4wj15yhgyhvoiwxgyfuokruf0p758muoo700/mjs64gffmd2s70z6def4ufzagzitwh61ejxllscvvecu3aulhil6zkvgxpxb9fe9fng7tiu2dc6b LGkBaIKJXDc/P57qT68Zjr8+SuPrffar6EAC4TCsVMlTJO5tW1W0e1K8NPq9G3pfa92FZ8QLD4cDw5aqzF/b+SG74ydX3JGdcW3UGs8dc4QcNueiFa+wufl7N1eOdL15 a3jzlghq3t6hrh8m/qpovudcbdo9milak4vttpxp4urbthn+yi2r9d6h16aq1mhouvcc2nhe2jkvlid/fl4dtzrbyqrjbgckjwklotqjjhix+duzaa87jqn70qos8sh4 04JvGI0EbxGrwRVsmoD6qr6HXlliLTV1YhzDrKZIQAwPY/EbAxhPZvgVZSbJDZnJRwgKvqKg/9eMyD/29+GpR+wq/ETohPr+pRCxTNvWq0aPKARyqoYvY6GktnWVRryN hvvtgehwxcq1t4lo+iy04mnyts01j0nt7zhzodij4dn5k/boatea72trqojgk0+qvt9iund3vwak9zkzeuovpoxss0uh+mku1kzwwu7gwk9rz+npt4dks/upmyqo4sht Q0Mw3TZO5sE8ISNk+F5/5JIRLjCEwDyg/zmOvwPecI48tYyDOyysiYmMMXhlMN023EcoMhHoGLnft8RYdxrBj5olvgrIA7c1HC7YQq2HHPe6mtL2A/mrfHy+kjvPZw+y RK2ea4qj3LtJ6yuMdmomcwYVFX8NB6bKlXiM2KpiAJNIpWP4kLiH1M8wLasnOKAj31BPDTsHMQvSq86A8cbTloMrdQZJyKf3ADsrGVFsdegpopmqeE0B39//2E+87ode U3A/+9HPvPiBBZ74zscfe+OH777he/X3XX7xhXd8/RNX1h9978UPfexjn/yl+uP/5fzim1/8ufcWP/++jzX/48ff8nI3GvjqE723fvPeB1/7tZ//x9e9q//EVem9//2u b76+9bf6e970xc9f/ofrh//j9wtcb/zuvwrmxz5q2l/5+k9/sj+a+8a3v1l/9m+v/rn9q2/5xefe/at2cuty315zxh6b+fp/epdjrwvth/8c/e67b6efupqltce+kfjl nwmw/uzdn9nf/k+7vxvnf776rsecl/3phz/94s///r8/9vl+ts8/zn/p73d/40vp5l93+4e/ru//1i+hcp/+p488/dwffu5tp9j4qp/89afiw7/s+5cf/vi286/8q59s y3/6173fe8on0l+ott/wrf/94pt+z/mpl3/tz2r3/urxfve7fzfmp/3yz/7v59689h8= =o END PGP MESSAGE

Sind OpenSSL-Zertikate mit Exponent 3 unsicher?

Sind OpenSSL-Zertikate mit Exponent 3 unsicher? Sind OpenSSL-Zertikate mit Exponent 3 unsicher? Annie Yousar 2007-January-04 In OpenSSL erzeugt man Zertikate mit RSA-Schlüsseln (zum Beispiel mit 3096 Bit) mit dem Kommando openssl req -x509 -newkey rsa:3096.

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Asymmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 1. Dezember 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

Programmier-Befehle - Woche 10

Programmier-Befehle - Woche 10 Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten

Mehr

OpenSSL in der Praxis

OpenSSL in der Praxis OpenSSL in der Praxis UUGRN FIXME-Treffen 6. März 2009 Martin Kaiser http://www.kaiser.cx/ Über mich Elektrotechnik-Studium Uni Karlsruhe System-Ingenieur UNIX und IP-Netze (2001-2003) Embedded Software-Entwicklung

Mehr

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Definition Homomorphe Verschlüsselung Sei Π ein Verschlüsselungsverfahren mit Enc : G G für Gruppen G, G. Π heißt homomorph, falls Enc(m 1 ) G Enc(m 2 ) eine gültige Verschlüsselung

Mehr

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts

Problem: Keine Integers in JavaCard. ToDo: Rechnen mit Bytes und Shorts Kapitel 6: Arithmetik in JavaCard Problem: Keine Integers in JavaCard ToDo: Rechnen mit Bytes und Shorts Java SmartCards, Kap. 6 (1/20) Hex-Notation 1 Byte = 8 Bit, b 7 b 6 b 5 b 4 b 3 b 2 b 1 b 0 0101

Mehr

Einführung in OpenSSL und X.509-Zertifikate. Martin Kaiser http://www.kaiser.cx/

Einführung in OpenSSL und X.509-Zertifikate. Martin Kaiser http://www.kaiser.cx/ Einführung in OpenSSL und X.509-Zertifikate Martin Kaiser http://www.kaiser.cx/ Über mich Elektrotechnik-Studium Uni Karlsruhe System-Ingenieur UNIX und IP-Netze (2001-2003) Embedded Software-Entwicklung

Mehr

Diskreter Logarithmus und Primkörper

Diskreter Logarithmus und Primkörper Diskreter Logarithmus und Primkörper Neben dem RSA-Verfahren ist die ElGamal-Verschlüsselung 8 ein weiteres klassische Public-Key-Verfahren, welches von Taher ElGamal auf der Konferenz CRYPTO 84 vorgestellt

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

Anleitung zur Nutzung von OpenSSL in der DFN-PKI

Anleitung zur Nutzung von OpenSSL in der DFN-PKI Anleitung zur Nutzung von OpenSSL in der DFN-PKI Kontakt: Allgemeine Fragen zur DFN-PKI: Technische Fragen zur DFN-PKI: pki@dfn.de dfnpca@dfn-cert.de DFN-Verein, Januar 2008; Version 1.2 Seite 1 1 OpenSSL

Mehr

Informatik für Mathematiker und Physiker Woche 2. David Sommer

Informatik für Mathematiker und Physiker Woche 2. David Sommer Informatik für Mathematiker und Physiker Woche 2 David Sommer David Sommer 25. September 2018 1 Heute: 1. Self-Assessment 2. Feedback C++ Tutorial 3. Modulo Operator 4. Exercise: Last Three Digits 5. Binary

Mehr

Webseiten mit HTTPS bereitstellen und mit HSTS und HPKP sichern

Webseiten mit HTTPS bereitstellen und mit HSTS und HPKP sichern Webseiten mit HTTPS bereitstellen und mit HSTS und HPKP sichern 26. Oktober 2017 Inhalt 1 Inhalt 1 2 Inhalt 1 2 3 Der Prozess im Überblick Erzeugung eines privaten Schlüssels Generierung einer Zertifikatsanfrage

Mehr

Netzwerksicherheit Übung 5 Transport Layer Security

Netzwerksicherheit Übung 5 Transport Layer Security Netzwerksicherheit Übung 5 Transport Layer Security Tobias Limmer, Christoph Sommer, David Eckhoff Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg,

Mehr

Verteilte Kyroptographie

Verteilte Kyroptographie Verteilte Kyroptographie Klassische kryptographische Verfahren Kryptographische Hash-Funktionen Public-Key-Signaturen Verteilte Mechanismen Schwellwert-Signaturen Verteilt generierte Zufallszahlen Verteilte

Mehr

Verschlüsselung mit Enigmail Valentin Ochs Grundlagen Enigmail Ende Schlüsselverwaltung

Verschlüsselung mit Enigmail Valentin Ochs Grundlagen Enigmail Ende Schlüsselverwaltung mit mit 2017-02-27 Notwendigkeit der E-Mail-Verschlüsselung mit Privatsphäre 110 Telekommunikationsgesetz: automatisiertes Überwachen der Telekommunikation durch berechtigte Stellen Abfangen von E-Mail-

Mehr

Netzwerksicherheit Übung 5 Transport Layer Security

Netzwerksicherheit Übung 5 Transport Layer Security Netzwerksicherheit Übung 5 Transport Layer Security Tobias Limmer, Christoph Sommer, Christian Berger Computer Networks and Communication Systems Dept. of Computer Science, University of Erlangen-Nuremberg,

Mehr

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions.

Can I use an older device with a new GSD file? It is always the best to use the latest GSD file since this is downward compatible to older versions. EUCHNER GmbH + Co. KG Postfach 10 01 52 D-70745 Leinfelden-Echterdingen MGB PROFINET You will require the corresponding GSD file in GSDML format in order to integrate the MGB system: GSDML-Vx.x-EUCHNER-MGB_xxxxxx-YYYYMMDD.xml

Mehr

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

Digitale Signaturen. Andreas Spillner. Kryptografie, SS 2018

Digitale Signaturen. Andreas Spillner. Kryptografie, SS 2018 Digitale Signaturen Andreas Spillner Kryptografie, SS 2018 Ausgangspunkt Digitale Signaturen bieten unter anderem das, was man auch mit einer eigenhändigen Unterschrift auf einem Dokument bezweckt. Beispiel:

Mehr

DOAG 2015 Oracle Probleme & Lösungen

DOAG 2015 Oracle Probleme & Lösungen DOAG 2015 Oracle Probleme & Lösungen DOAG 2015 Oracle Probleme & Lösungen DOAG 2015 Oracle Probleme & Lösungen Stichwörter: STD; nicht möglich STD 2-4 Stichwörter: STD; nicht möglich STD 2-5 Stichwörter:

Mehr

Webseiten mit HTTPS bereitstellen und mit HSTS sichern

Webseiten mit HTTPS bereitstellen und mit HSTS sichern Webseiten mit HTTPS bereitstellen und mit HSTS sichern https://www.my-it-brain.de 10. März 2018 Inhalt 1 Inhalt 1 2 Inhalt 1 2 3 Inhalt 1 2 3 4 Inhalt 1 2 3 4 5 Ziele von HTTPS Inhalt Authentizität Vertraulichkeit

Mehr

Sicheres en. PING e.v. Sicherheit -Angriffspunkte Was kann ich tun?

Sicheres  en. PING e.v. Sicherheit  -Angriffspunkte Was kann ich tun? Sicheres E-Mailen PING e.v. Sicherheit E-Mail-Angriffspunkte Was kann ich tun? Sicherheit Was ist Sicherheit? Sicherheit Wie funktioniert das? Was muß ich tun, um (mehr) Sicherheit zu erlangen? Was ist

Mehr

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Klausur 22.07.2014 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen

Mehr

Prüfung Informatik D-MATH/D-PHYS :00 17:00

Prüfung Informatik D-MATH/D-PHYS :00 17:00 Prüfung Informatik D-MATH/D-PHYS 9. 8. 0 5:00 7:00 Prof. Bernd Gartner Kandidat/in: Name:. Vorname:. Stud.-Nr.:. Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen ablegen

Mehr

X.509v3 Zertifizierungsinstanz der Universität Würzburg

X.509v3 Zertifizierungsinstanz der Universität Würzburg X.509v3 Zertifizierungsinstanz der Universität Würzburg Markus Krieger Rechenzentrum Uni Würzburg ca@uni-wuerzburg.de 22.01.06 1 Notwendigkeit von Zertifikaten Steigende Anzahl von Kommunikationsbeziehungen

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

DROWN (oder warum TLS-Konfiguration schwer ist)

DROWN (oder warum TLS-Konfiguration schwer ist) CycleSEC Prof. Dr. Sebastian Schinzel Twitter: @seecurity DROWN (oder warum TLS-Konfiguration schwer ist) Nimrod Aviram, Sebastian Schinzel, Juraj Somorovsky, Nadia Heninger, Maik Dankel, Jens Steube,

Mehr

Verschlüsselung mit GnuPG (GNU Privacy Project)

Verschlüsselung mit GnuPG (GNU Privacy Project) Verschlüsselung mit GnuPG (GNU Privacy Project) Autor: Luca Costa, HTW Chur, luca.costa@tet.htwchur.ch Dozent: Bruno Wenk, HTW Chur, bruno.wenk@fh-htwchur.ch Inhaltsverzeichnis 1 Verschlüsselung mit GnuPG...

Mehr

Probeklausur. Musterlösung

Probeklausur. Musterlösung Programmierkurs Probeklausur Dr. Steffen Müthing Abgabe 08. Februar 2019 IWR, Universität Heidelberg ipk-exercises:2018-ws-55-gc187ae0 Allgemeine Hinweise: Probeklausur Dieses Übungsblatt wird nicht bewertet.

Mehr

C/C++-Programmierung

C/C++-Programmierung 1 C/C++-Programmierung Speicherverwaltung, 0, const Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester 2009/2010 2 Speicherverwaltung

Mehr

Aufgabenblatt 11 Musterlösung

Aufgabenblatt 11 Musterlösung Programmierkurs Aufgabenblatt 11 Dr. Ole Klein, Dr. Steffen Müthing Abgabe 09. Februar 2018 IWR, Universität Heidelberg ipk-exercises:2017-ws-89-g0001213 Hinweise zur Klausur: Aufgabenblatt 11 Die Klausur

Mehr

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema.

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema. Digitale Signaturen Einführung und das Schnorr Signatur Schema 1 Übersicht 1. Prinzip der digitalen Signatur 2. Grundlagen Hash Funktionen Diskreter Logarithmus 3. ElGamal Signatur Schema 4. Schnorr Signatur

Mehr

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes

Variablen. Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes Variablen Deklaration: «Datentyp» «Variablenname» Datentyp bestimmt Größe in Bytes: sizeof Beispiel: long int v; Größe: 4 Bytes v ist Stück im Speicher, der 4 Bytes lang ist Speicherzugriff? Über Adressen!

Mehr

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am 28.05.2002 Diffie-Hellman, ElGamal und DSS Vortrag von David Gümbel am 28.05.2002 Übersicht Prinzipielle Probleme der sicheren Nachrichtenübermittlung 'Diskreter Logarithmus'-Problem Diffie-Hellman ElGamal DSS /

Mehr

Übung 3: VHDL Darstellungen (Blockdiagramme)

Übung 3: VHDL Darstellungen (Blockdiagramme) Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei

Mehr

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002

FH Schmalkalden Fachbereich Informatik. Kolloquium 21. März 2002 FH Schmalkalden Fachbereich Informatik http://www.informatik.fh-schmalkalden.de/ 1/17 Kolloquium 21. März 2002 Entwicklung eines JCA/JCE API konformen Kryptographischen Service Providers für HBCI unter

Mehr

Apache Webserver with SSL on Windows

Apache Webserver with SSL on Windows Apache Webserver with SSL on Windows Diese Konfiguration geht davon aus, dass man keine sperate CA Stelle benötigt. Mit OpenSSL ist es ohne weiteres möglich, dass man selber an die Stelle der CA treten

Mehr

Einführung in X.509 + S/MIME

Einführung in X.509 + S/MIME Einführung in X.509 + S/MIME Peter Steiert 24.10.2010 Agenda Was ist X.509 X.509 Zertifikate Kurzbeschreibung OpenSSL Elemente einer X.509 PKI Wie komme ich an ein Zertifikat? Import in die Anwendung S/MIME

Mehr

IT-Security. Teil 15: Zufall

IT-Security. Teil 15: Zufall IT-Security Teil 15: Zufall 09.05.17 1 Literatur [15-1] http://de.wikipedia.org/wiki/kryptographisch_sicherer_zufallszahlen generator [15-2] https://gnupg.org/documentation/manuals/gcrypt/fips-prng- Description.html

Mehr

C-Programmierkurs Mathematik

C-Programmierkurs Mathematik Mathematik WS 2018/2019 Dr. Bodo Kalthoff Speicher für Werte Variablen Über Variablennamen ansprechbar Sprechende Namen vergeben! Variablen können Zahlen, Buchstaben oder komplexere Werte enthalten Der

Mehr

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise

Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade. Klausur Hinweise Institut für Theoretische Informatik Prof. Dr. J. Müller-Quade Stammvorlesung Sicherheit im Sommersemester 2015 Klausur 21.07.2015 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen

Mehr

Konstruktion von MACs. Message Authentication Codes. Sicherheitsmodell CBC-MAC

Konstruktion von MACs. Message Authentication Codes. Sicherheitsmodell CBC-MAC Message Authentication Codes Entspricht Hashfunktionen mit geheimen Schlüsseln. h : K M H, MAC = h k (m). h parametrisierte Hashfunktion. m Nachricht. k geheimer Schlüssel. Mit der Nachricht m wird h k

Mehr

DOAG 2009 Konferenz Nürnberg. Klaus Reimers ORDIX AG, Köln

DOAG 2009 Konferenz Nürnberg. Klaus Reimers ORDIX AG, Köln DOAG 2009 Konferenz 17. - 19.11.2009 Nürnberg Klaus Reimers ORDIX AG, Köln kr@ordix.de www.ordix.de Agenda Intention PL/SQL - dbms_obfuscation_toolkit toolkit - dbms_crypto - Schlüsselmanagement Transparente

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 6.2 Digitale Signaturen 1. Sicherheitsanforderungen 2. RSA Signaturen 3. ElGamal Signaturen Wozu Unterschriften? Verbindliche Urheberschaft von Dokumenten Unterschrift

Mehr

Probeklausur Name: (c)

Probeklausur Name: (c) Einführung in die Praktische Informatik 30.1.2013 Probeklausur Name: Teil I: Datentypen (20 Punkte) Lösen sie die Probleme, indem sie die korrekten Lösungen ankreuzen bzw. in die vorgesehenen Freiräume

Mehr

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Übungsblatt 5. pk = (g, y) und sk = (g, x). ? = y H(t m) t. g s Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Übungsblatt 5 Hinweis: Übungsblätter können freiwillig bei Jessica Koch, Raum 256, Geb.

Mehr

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free()

Übungspaket 29 Dynamische Speicherverwaltung: malloc() und free() Übungspaket 29 Dynamische Speicherverwaltung malloc() und free() Übungsziele Skript In diesem Übungspaket üben wir das dynamische Alloziieren 1. und Freigeben von Speicherbereichen 2. von Zeichenketten

Mehr

Erzeugung von Zufallszahlen mit RANUNI()

Erzeugung von Zufallszahlen mit RANUNI() News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Erzeugung von Zufallszahlen mit RANUNI() 20 March, 2007-11:10 ido123 Sehr geehrte

Mehr

Konfiguration von eduroam. Configuring eduroam

Konfiguration von eduroam. Configuring eduroam eduroam Windows 8.1 / 10 Konfiguration von eduroam Configuring eduroam 08.10.2018 kim.uni-hohenheim.de kim@uni-hohenheim.de Wissenschaftliche Einrichtungen und Universitäten bieten einen weltweiten Internetzugang

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

Teil 4_3: CPSA. Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit

Teil 4_3: CPSA. Prof. Dr. Jörg Schwenk Lehrstuhl für Netz- und Datensicherheit Systemsicherheit Teil 4_3: CPSA Prof. Dr. DVD-Kopierschutz 1. CSS und DeCSS 2. DVD-Aufbau und Kopierschutz (ohne CSS) 3. Ausblick: CPSA 1. Überblick beteiligte Komponenten 2. CPSA Axiome a) Content Management

Mehr

DNSSEC Einführung. DNSSEC-Meeting 2. Juli 2009 Frankfurt

DNSSEC Einführung. DNSSEC-Meeting 2. Juli 2009 Frankfurt DNSSEC Einführung DNSSEC-Meeting 2. Juli 2009 Frankfurt Inhalt Warum DNSSEC? Warum erst jetzt? Warum ein Testbed? Was ist DNSSEC? Wie funktioniert es? H.P. Dittler - BRAINTEC Netzwerk-Consulting 03.07.2009

Mehr

C R 2025 C LOSE PUSH OPEN

C R 2025 C LOSE PUSH OPEN 3V C R 2025 C LOSE PUSH OPEN ) ) ) 25 222 3V C R 2025 C LOSE PUSH OPEN 25 222 3V C R 2025 C LOSE PUSH OPEN 25 222 Den här symbolen på produkten eller i instruktionerna betyder att den elektriska

Mehr

Angewandte Kryptographie Praktikum 4

Angewandte Kryptographie Praktikum 4 Angewandte Kryptographie Praktikum 4 Thema: Public Key Kryptosysteme Wintersemester 2018/2019 Prof. Dr. Christoph Karg Hochschule Aalen Ziel dieses Praktikums ist die Implementierung des Rabin- und RSA-Kryptosystems

Mehr

Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal

Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal Inhalt / Content Vorraussetzungen für Java Web Start /... 3 Prerequisited for Java-WebStart... 3 Datenempfang /... 3

Mehr

El Gamal Verschlüsselung und seine Anwendungen

El Gamal Verschlüsselung und seine Anwendungen El Gamal Verschlüsselung und seine Anwendungen Andrés Guevara July 11, 2005 1 Kurze Einführung in die Kryptographie Situation: Absender will Empfänger eine Nachricht schicken. Einige Ziele der Kryptographie

Mehr

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben. Programmieren bei Dr. Robert Heß TM&M1, IST1 und ET1 Anfang SS 2003 Klausur 1. Aufgabe (2 Punkte) Kodieren Sie folgende Dezimalzahlen in Binärzahlen um. Zeigen Sie den Rechenweg, die negative Zahl soll

Mehr

Programmentwicklung ohne BlueJ

Programmentwicklung ohne BlueJ Objektorientierte Programmierung in - Eine praxisnahe Einführung mit Bluej Programmentwicklung BlueJ 1.0 Ein BlueJ-Projekt Ein BlueJ-Projekt ist der Inhalt eines Verzeichnisses. das Projektname heißt wie

Mehr

Aufgabe 1. Universität Duisburg-Essen Fachbereich Mathematik Dr. O. Rheinbach

Aufgabe 1. Universität Duisburg-Essen Fachbereich Mathematik Dr. O. Rheinbach Universität Duisburg-Essen SS09 Fachbereich Mathematik Dr. O. Rheinbach 21.04.2009 Aufgabe 1 Öffnen Sie Visual Studio 2008 und wählen unter Datei Neu Projekt im Dialogfenster erst Win32 und dann rechts

Mehr

Elektronische Signaturen

Elektronische Signaturen Elektronische Signaturen Oliver Gasser TUM 3. Juni 2009 Oliver Gasser (TUM) Elektronische Signaturen 3. Juni 2009 1 / 25 Gliederung 1 Einführung 2 Hauptteil Signieren und Verifizieren Digital Signature

Mehr

Einführung Makros Includes Errors und Warnings Pragmas Diverses. Der C-Präprozessor. Lukas Stabe. Universität Hamburg

Einführung Makros Includes Errors und Warnings Pragmas Diverses. Der C-Präprozessor. Lukas Stabe. Universität Hamburg Der C-Präprozessor Lukas Stabe Universität Hamburg Proseminar C - Grundlagen und Konzepte, 2013 Lukas Stabe C-Präprozessor 1 / 19 Inhalt 1. Einführung 2. Makros 3. Includes 4. Errors und Warnings 5. Pragmas

Mehr

Übungen zur Vorlesung Systemsicherheit

Übungen zur Vorlesung Systemsicherheit Übungen zur Vorlesung Systemsicherheit Symmetrische Kryptographie Tilo Müller, Reinhard Tartler, Michael Gernoth Lehrstuhl Informatik 1 + 4 17. November 2010 c (Lehrstuhl Informatik 1 + 4) Übungen zur

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, Uhr Bearbeitungszeit: 105 Minuten Probeklausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 12. April 2007, 13.00-14.45 Uhr Bearbeitungszeit: 105 Minuten Schalten Sie ihr Mobiltelefon aus. Bei der Klausur ist als einziges

Mehr

Risiko Datensicherheit End-to-End-Verschlüsselung von Anwendungsdaten. Peter Kirchner Microsoft Deutschland GmbH

Risiko Datensicherheit End-to-End-Verschlüsselung von Anwendungsdaten. Peter Kirchner Microsoft Deutschland GmbH Risiko Datensicherheit End-to-End-Verschlüsselung von Anwendungsdaten Peter Kirchner Microsoft Deutschland GmbH RISIKO Datensicherheit NSBNKPDA kennt alle ihre Geheimnisse! Unterschleißheim Jüngste Studien

Mehr

Pascal Schärli

Pascal Schärli Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix

Mehr

Programmier-Befehle - Woche 08

Programmier-Befehle - Woche 08 Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:

Mehr

Message Authentication Codes

Message Authentication Codes Message Authentication Codes Martin Schütte 30. Nov. 2004 Gliederung Denitionen Grundlegende Begrie Konstruktion von MACs häug benutzte MACs Einschätzung der Sicherheit Bedingungslos sichere MACs zusätzliche

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Inhaltsverzeichnis. LNT Fischertechnik RCTXTLT 2 Juni 2017

Inhaltsverzeichnis. LNT Fischertechnik RCTXTLT 2 Juni 2017 Inhaltsverzeichnis 1 Allgemeines...3 1.1 Kommunikations Parameter...3 1.2 Abbildung Ein- und Ausgänge...4 1.2.1 Eingänge...4 1.2.2 Ausgänge...5 1.2.3 Leds...6 1.3 Versionsinformationen...6 2 Protokoll...7

Mehr

Snom 3xx/7xx Serie. Manuelle Neukonfiguration. Dokumentenversion 1.0

Snom 3xx/7xx Serie. Manuelle Neukonfiguration. Dokumentenversion 1.0 Snom 3xx/7xx Serie Manuelle Neukonfiguration Dokumentenversion 1.0 Snom 3xx/7xx Serie Mauelle Neukonfiguration Copyright Hinweis Copyright 2016 finocom AG Alle Rechte vorbehalten. Jegliche technische Dokumentation,

Mehr

Kryptographie - eine mathematische Einführung

Kryptographie - eine mathematische Einführung Kryptographie - eine mathematische Einführung Rosa Freund 28. Dezember 2004 Überblick Grundlegende Fragestellungen Symmetrische Verschlüsselung: Blockchiffren, Hashfunktionen

Mehr

VP WAP Kryptographie

VP WAP Kryptographie VP WAP Kryptographie Martin Hargassner, Claudia Horner, Florian Krisch Universität Salzburg 11. Juli 2002 header 1 Übersicht Definiton Ziele Entwicklung Private- / Public-Key Verfahren Sicherheit Anwendungsbeispiel:

Mehr

Protokolldesign. Alexander Aprelkin TUM. Alexander Aprelkin (TUM) Protokolldesign / 36

Protokolldesign. Alexander Aprelkin TUM. Alexander Aprelkin (TUM) Protokolldesign / 36 Protokolldesign Alexander Aprelkin TUM 16.06.2009 Alexander Aprelkin (TUM) Protokolldesign 16.06.2009 1 / 36 Gliederung 1 Einführung Begriffe Notation Motivation 2 Design Prinzipien Basisprinzip 1. Explicitness

Mehr

Message Authentication Codes. Konstruktion von MACs. Hash-then-Encrypt. Sicherheitsmodell

Message Authentication Codes. Konstruktion von MACs. Hash-then-Encrypt. Sicherheitsmodell Message Authentication Codes Entspricht Hashfunktionen mit geheimen Schlüsseln. h : K M H, MAC = h k (m). h parametrisierte Hashfunktion. m Nachricht. k geheimer Schlüssel. Mit der Nachricht m wird h k

Mehr

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher

Mehr

XPath chneeberger J. S

XPath chneeberger J. S XPath J. Schneeberger Anmerkungen Step Folie wiederholen Location Path = Pfadbeschreibung Arbeit Alles im bscw digidoc Was ist die neues Version von XML? Wie wird das HTML erzeugt Übungsfolien an Martin

Mehr

Systemnahe Programmierung in C Übungen Jürgen Kleinöder, Michael Stilkerich Universität Erlangen-Nürnberg Informatik 4, 2011 U7.fm

Systemnahe Programmierung in C Übungen Jürgen Kleinöder, Michael Stilkerich Universität Erlangen-Nürnberg Informatik 4, 2011 U7.fm U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 7 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine

Mehr

D-BAUG Informatik I. Exercise session: week 1 HS 2018

D-BAUG Informatik I. Exercise session: week 1 HS 2018 1 D-BAUG Informatik I Exercise session: week 1 HS 2018 Java Tutorials 2 Questions? expert.ethz.ch 3 Common questions and issues. expert.ethz.ch 4 Need help with expert? Mixed expressions Type Conversions

Mehr

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS

Digitale Signatur. Digitale Signatur. Anwendungen der Kryptographie. Secret Sharing / Splitting. Ziele SSL / TLS Digitale Signatur Digitale Signatur kombiniert Hash Funktion und Signatur M, SIGK(HASH(M)) wichtige Frage: Wie wird der Bithaufen M interpretiert Struktur von M muss klar definiert sein Wie weiss ich,

Mehr

Grundlagen der digitalen Kommunikation Kryptographie Einführung

Grundlagen der digitalen Kommunikation Kryptographie Einführung https://www.cryptoparty.in/ Grundlagen der digitalen Kommunikation Kryptographie Einführung 1/30 Inhalt: Vortrag Einführung Sichere Umgebung Freie Software Kommunikation im Internet Mail Metadaten Wie

Mehr

Informatik I (D-MAVT)

Informatik I (D-MAVT) Informatik I (D-MAVT) Übungsstunde 8, 22.4.2009 simonmayer@student.ethz.ch ETH Zürich Aufgabe 1: Pointer & Structs Schauen wir s uns an! Aufgabe 2: Grossteils gut gemacht! Dynamische Arrays! Sortieren:

Mehr

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise

Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz. Klausur Hinweise Institut für Theoretische Informatik Jun.-Prof. Dr. D. Hofheinz Stammvorlesung Sicherheit im Sommersemester 2014 Klausur 22.07.2014 Vorname: Nachname: Matrikelnummer: Hinweise - Für die Bearbeitung stehen

Mehr

Bruce Schneier, Applied Cryptography

Bruce Schneier, Applied Cryptography Gnu Privacy Guard In der Praxis gibt es zwei Formen von Kryptographie: Mit der einen Form der Kryptographie können Sie Ihre Dateien vielleicht vor Ihrer kleinen Schwester schützen, mit der anderen Form

Mehr

Installation und Einrichtung des GnuPG-Verschlüsselungs-Programms (Dateien / s)

Installation und Einrichtung des GnuPG-Verschlüsselungs-Programms (Dateien /  s) Installation und Einrichtung des GnuPG-Verschlüsselungs-Programms (Dateien / E-Mails) Bei dem GnuPG-Verschlüsselungsprogramm handelt es sich um eine freie Implementierung des OpenPGP- Verfahrens, das als

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuÿ, Henning Timm Übungsblatt 2

Mehr

Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt.

Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt. 432 433 434 435 Auf dieser und den beiden folgenden Folien wurde jeweils ein neues Objekt der Klasse FigurMalerei erstellt und die angegebene Methode ausgeführt. 436 437 438 439 440 441 442 443 Die verkürzte

Mehr

Digitale Signaturen. Proseminar Kryptographie und Datensicherheit SoSe Sandra Niemeyer

Digitale Signaturen. Proseminar Kryptographie und Datensicherheit SoSe Sandra Niemeyer Digitale Signaturen Proseminar Kryptographie und Datensicherheit SoSe 2009 Sandra Niemeyer 24.06.2009 Inhalt 1. Signaturgesetz 2. Ziele 3. Sicherheitsanforderungen 4. Erzeugung digitaler Signaturen 5.

Mehr

Correspondence between initialisation table and Common Criteria Evaluation

Correspondence between initialisation table and Common Criteria Evaluation Correspondence between initialisation table and Common Criteria Evaluation The following table provides information about the evaluted variants of the ZKA Banking Signature Card V7.x (SECCOS6 Operating

Mehr

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

17. Klassen. Datenkapselung, Klassen, Memberfunktionen, Konstruktoren

17. Klassen. Datenkapselung, Klassen, Memberfunktionen, Konstruktoren 556 17. Klassen Datenkapselung, Klassen, Memberfunktionen, Konstruktoren Ein neuer Typ mit Funktionalität... 557 struct rational { int n; int d; // INV: d!= 0 // POST: return value is the sum of a and

Mehr

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind: Test 1 in Programmkonstruktion 59 / 100 Punkte 1. Multiple-Choice-Aufgaben 20 / 30 Punkte Bitte wählen Sie alle zutreffenden Antwortmöglichkeiten aus. Es können beliebig viele Antwortmöglichkeiten zutreffen,

Mehr

U7 POSIX-Prozesse U7 POSIX-Prozesse

U7 POSIX-Prozesse U7 POSIX-Prozesse U7 POSIX-Prozesse U7 POSIX-Prozesse Prozesse POSIX-Prozess-Systemfunktionen Aufgabe 6 U7.1 U7-1 Prozesse: Überblick U7-1 Prozesse: Überblick Prozesse sind eine Ausführumgebung für Programme haben eine

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 21.03.2018 1 Ablauf Quiz und Recap Floating Point

Mehr

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

Java Tools JDK. IDEs.  Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/

Mehr