Cryptonite
Áron bácsi felvetésére belevágtunk egy új rendezvénysorozatba, melynek célja, hogy a snowden-i szivárogtatások fényében- újra felmérjük, megismerjük a rendelkezésre álló kriptográfiai módszereket,
- számba vegyük a rendelkezésre álló eszközöket,
- szükség esetén meghatározzuk és megvalósítsuk a hiányzó komponenseket,
- olyan ökölszabályokat fogalmazzunk meg, melyek egy átlagember számára is hasznosak lehetnek.
Események
Upcoming:(ahol nincs feltüntetve előadó zárójelben, ott még keressük)
- szimmetrikus kriptók
- hash alapú kriptó
- lattice-based kriptó
- code-based kriptó
- keccak sponge konstrukciója (esetleg arx alapú is - ez xsalsa20/chacha20 alapja)
- multiparty kripto
Jön
- Illési Zsolt (?): Mobil forensic (2017. ??. ??)
Régiek
Köszönjük Endrének a budapesti mirror biztosítását!- Stef: Crypto alapú jelszókezelés és PAKE konstrukciókkal védett felhasználó adatbázisok (2018. június 24.)
- Felvétel: YouTube, letölthető MKV: mirror2 (Frankfurt)
- Diasor: sphinx/opaque diasor (PDF)
- Palotay Dorka: Ransomware (2016. december 2. 19.00-21.00)
- Felvétel: YouTube, letölthető MKV: mirror2 (Frankfurt)
- Ransomware diasor (PDF)
- Alpár Gergely: IRMA (I Reveal My Attributes) (2016. augusztus 3. 19.00-21.00)
- Felvétel: (TODO)
- IRMA (I Reveal My Attributes) diasor (PDF)
- Dr. Gonda János: Goppa-kódok, McEliece algoritmus (2016. március 18.) --
- Felvétel: YouTube, letölthető MKV: mirror2 (Frankfurt)
- McEliece/Goppa diasor (PDF)
- Dr. Huszti Andrea: E-voting modellek matematikája (
2015. december 11.2016. január 22.)- Felvétel: YouTube, letölthető MKV: mirror2 (Frankfurt)
- E-voting diasor (PDF)
- stef: Cryptanalysis challenge feladatok alapján (2015. november 13.)
- Felvétel: YouTube, letölthető MKV: mirror2 (Frankfurt)
- Szabó Áron: S.S.O. / Single Sign-On - Security - Overview (2015. április 10.)
- S.S.O. (PDF)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- stef: ABC (Attribute-based Credentials),
IRMA (I Reveal My Attributes)(2015. április 10.)- ABC diasor (PDF)
- ABC számítás (screenshot)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- Gulyás Gábor (CrySyS): Privacy téveszmék, Tor Browser és Tails, Big data és deanonimizálás
- web privacy (PDF) (2014. november 28.)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- big data privacy (PDF) (2014. december 5.)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- web privacy (PDF) (2014. november 28.)
- Pintér Krisztián: Password Hashing Competition - Gambit (2014. szeptember 26.)
- Gambit anatómia (PDF)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- felhívás formális bizonyításra (WriteLatex)
- Dr. Berta István Zsolt: Ember vs. gép és alternatívák a CA-alapú PKI-ra (2014. augusztus 29.)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- ember vs. gép (PDF)
- PKI alternatívák webre (PDF)
- Kőműves Balázs, Bura Pál: *coin (free, zero, litecoin) (2014. május 30. 19:00)
- Bitcoin protokoll felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- Bitcoin protokoll diasor (PDF)
- elliptikus kriptó (PDF)
- Altcoin diasor (PDF)
- diasor (PDF) - Bitcoin crypto
- diasor (PDF) - altcoins compare
- Tihanyi Norbert: Véletlenszámok (2014. április 18. 19:00)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- Szabó István (ELTE, egyetemi docens): RSA algoritmus: a jó paraméterek jellemzői (2014. február 21.)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- diasor (PDF) - main
- diasor (PDF) - exponent
- diasor (PDF) - Fermat
- Bacsárdi László: quantum hatása a kriptóra, Shor algoritmus (2014. január 8. 19:00)
- Felvétel: YouTube, letölthető MKV: mirror1 (Budapest) mirror2 (Frankfurt)
- diasor (PDF)
- stef: Elliptikus görbék (2013. stf)
- részletek alább a Jegyzetek/ECC fejezet alatt.
- Szabó Áron: X.509-alapozó (2013. december 13. 19:00)
Jegyzetek
ECC
- arstechnica cikk
- galois test
- python/sage példákkal
- a görbe állatkert
- edwards görbe
- Montgomery görbe
- Invertált Edwards görbe
- Görbék költségei
- Curve25519 es NIST görbék sebessége
- safecurves
A sage worksheet a csatolmányok között megtalálható. Kipróbálható itt sagecloud.
F2 = GF((2^255)-19) # y^2 == x^3 + 486662*x^2 + x) Curve25519 = EllipticCurve(F2, [0, 486662, 0, 1, 0]) P25519 = Curve25519.point([9,F2(9^3 + 486662*9^2 + 9).sqrt()]) print(Curve25519) print "basepoint", P25519 Elliptic Curve defined by y^2 = x^3 + 486662*x^2 + x over Finite Field of size \ 57896044618658097711785492504343953926634992332820282019728792003956564819949 basepoint (9 : 14781619447589544791020593568409986887264606134616475288964881837755586237401 : 1) F1 = GF((2^251)-9) #x^2 + y^2 = 1 − 1174*x^2*y^2 Curve1174 = EllipticCurve(F1,[0,4/1175-2,0,1,0]) print(Curve1174) Elliptic Curve defined by y^2 = x^3 + 3276669759268734891773391703437338669039342119261743620691033760223924732354*x^2 + x over Finite \ Field of size 3618502788666131106986593281521497120414687020801267626233049500247285301239 secret = randrange(P25519.order()) print 'secret', secret public = P25519 * secret print 'public', public secret 1467490697454842568936475396114863822922126114013609471608883888030173455623 public (14181934965252511487015101029388688573760508176091550377448791623325663079263 : \ 27550729654639090468645035001871244348239408328781753808485607098532078341262 : 1) E = EllipticCurve(GF(1009),[5,1]); E g = E.gens()[0]; (g, g.order()) rA = randrange(g.order()); RA = rA*g; (rA, RA) rB = randrange(g.order()); RB = rB*g; (rB, RB) kA = rA*RB; kA kB = rB*RA; kB Elliptic Curve defined by y^2 = x^3 + 5*x + 1 over Finite Field of size 1009 ((930 : 789 : 1), 1039) (505, (414 : 616 : 1)) (534, (414 : 393 : 1)) (99 : 106 : 1) (99 : 106 : 1) # encryption n = randrange(g.order()); NA = n*g; Sa = n*RB; # use Sa to derive symmetric key K, and send(NA, enc(Sa, plain)) sb = NA * rB; (Sa, sb) # use sb to derive symmetric key K and dec(sb, cipher) ((738 : 535 : 1), (738 : 535 : 1)) ## SHA256(message) h = 0x7aac4de65f04b1b03d97537e03005247e10a41321811f948a85c2fe3bab5ce5d # sign(rA, h) ## ephemeral key Alice uses to sign her message k = randrange(g.order()) K = k*g # get the x coordinate of the ephemeral key t = ZZ(K[0]) # t = the x coordinate of K s = (h + rA*t)/k % g.order() ###### verify(h, t, s, RA) w = (1/s) % g.order() u = (w*h) % g.order() v = (w*t) % g.order() F = u*g H = v*RA # uses Alice's public key, A Q = F + H ## Q should be the same as K (Q, K) ((631 : 359 : 1), (631 : 359 : 1)) pts = [ g * x for x in range(g.order()) ] plot(sum([ plot(p, hue = 0.1) for p in pts ]), aspect_ratio = 1)