Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
efinf:blcks2017:crypto:start [2017/12/14 08:36] Ivo Blöchliger [RSA] |
efinf:blcks2017:crypto:start [2017/12/20 22:08] (current) Ivo Blöchliger [Theorie] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== News ===== | ||
+ | * https:// | ||
+ | |||
+ | ===== Theorie ===== | ||
+ | * Hashfunktion: | ||
+ | * Asymmetrische Kryptographie: | ||
+ | * Public-Key Verschlüsselung: | ||
+ | * RSA-Verschlüsselung: | ||
+ | * Blockchain: https:// | ||
===== BadBlockChain ===== | ===== BadBlockChain ===== | ||
{{ : | {{ : | ||
Line 40: | Line 49: | ||
===== Anwendung BadBlockChain ===== | ===== Anwendung BadBlockChain ===== | ||
+ | === Key Management === | ||
+ | Key Erzeugen: | ||
+ | <code python makekey.py> | ||
+ | from badkeymaterial import BadKeyMaterial | ||
+ | print BadKeyMaterial(32) | ||
+ | </ | ||
+ | Ausgabe z.B. | ||
+ | Public modulus: 4906493971 public exponent: 31 private exponent: 158269471 | ||
+ | Key verwenden: | ||
+ | <code python initkey.py> | ||
+ | from badkeymaterial import BadKeyMaterial | ||
+ | # modulus eintragen | ||
+ | k=BadKeyMaterial(4906493971) | ||
+ | # privaten Schlüssel setzen | ||
+ | k.private = 158269471 | ||
+ | </ | ||
+ | Mining: | ||
+ | <code python miner.py> | ||
+ | from badblockchain import BadBlockChain | ||
+ | from badkeymaterial import BadKeyMaterial | ||
+ | |||
+ | c = BadBlockChain() | ||
+ | c.getNewBlocks() | ||
+ | |||
+ | # modulus eintragen | ||
+ | k=BadKeyMaterial(4906493971) | ||
+ | # privaten Schlüssel setzen | ||
+ | k.private = 158269471 | ||
+ | |||
+ | c.mine(k.modulus) | ||
+ | |||
+ | print c.wallets.wallets | ||
+ | |||
+ | </ | ||
+ | |||
+ | Neue Hash-Funktion: | ||
+ | <code python> | ||
+ | # 32-Bit Hash | ||
+ | @classmethod | ||
+ | def badHash(cls, | ||
+ | x = str(x) | ||
+ | h = 0xdeadbeef | ||
+ | for i in xrange(0, | ||
+ | h = ((h+6543)*(ord(x[i])+57361)+567) % 2**32 | ||
+ | return h | ||
+ | |||
+ | </ |