Skip to content

Instantly share code, notes, and snippets.

@david415
Created June 28, 2015 00:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save david415/a3a5b5adde8bba7d6be5 to your computer and use it in GitHub Desktop.
Save david415/a3a5b5adde8bba7d6be5 to your computer and use it in GitHub Desktop.
leekspin make me an onion
diff --git a/leekspin/crypto.py b/leekspin/crypto.py
index c759b2b..262a30f 100644
--- a/leekspin/crypto.py
+++ b/leekspin/crypto.py
@@ -280,6 +280,22 @@ def generateOnionKey():
return (secretOnionKey, publicOnionKey, onionKeyLine)
+def fufu():
+ from Crypto.Util.asn1 import DerSequence
+ from binascii import a2b_base64
+ from binascii import b2a_hex
+
+ private_key_pem = """MIICXwIBAAKBgQDLCUoxCXuPTkrXsLlp2iSaMXCEUE4Q3ddIqM3vqptJJDGtQUNqsZ6Y6QtkIp/SNk3PFJpWOIEyYRvxVvbVCS5nH/ewc+cA8HWz5GUTZVLlK6nVzVEn5qWWUHtBGMCf4r3puY/KvbiO/6WMvXiAJ3NitkJuvBk/okfogOKiIj7c7wIDAQABAoGBAIFpTmyrCqJw2KtZ7RRXAnV1ha4QMXH2tD2PupNEPu4Dr9YqfvoGdHwqLiSJHS0zh6yyCR1jrpWZ5+GP+IwY6gWWZj/eeTqC/SyweP7YTCkgkrWebTQUurTi5FyZCSH5vSkapKajU3KPRvdqW0AI+Xhs0pGsBkvKa8o2Yyg1lsOBAkEA4OzZIcz5Zf+HTo09ISgmS3TmCE3CrHkg6rU4Zjnltfeq9xChonxqaHLwrqYdEwFNSk/wParWax6QGa7msYO6nwJBAOcWRnZ/j36MuqJPeDj4XEznKiewf4TZz9gyiUPPcSFIWSNXRLWWRPtBLc9php+zWyAhqxfwNsLemSGfdJcaC7ECQQDaRv+wvaqKQaCdqpNYSg5fy+IwzMXPev1myNci3az/GorfmVRCy1q4YlMQKkSs3OaU517Neaz7530Qb5uRSbUhAkEA3u5mW7sDu5oYEq2H1a4DnU0FJfTnkEpwcKmQMpLVGL6q/6UY6/Vj5uAiSY4MCdUFfCH+5MEgky4bnIwv9fVygQJBALYqF32XTdDBxVj/Mt2yQG7qT6wThjHXMUptK9DS5TVLMw/rFJuVi5l8miydQRPTyXCnOkQHlWCFUJu10V2MIRc="""
+
+ keyDER = a2b_base64(private_key_pem)
+ keyPub = RSA.importKey(keyDER)
+ secretOnionKey = keyPub
+ publicOnionKey = getASN1Sequence(secretOnionKey)
+ keyDigest = hashlib.sha1(publicOnionKey)
+ keyDigestBinary = keyDigest.digest()
+ onion = base64.b32encode(keyDigestBinary[:10])
+ return onion
+
def generateSigningKey():
secretSigningKey = RSA.generate(1024) # generate an RSA key
publicSigningKey = getASN1Sequence(secretSigningKey) # ASN.1 encode it
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment