-
BLS stands for
- Barreto-Lynn-Scott: BLS12, a Pairing Friendly Elliptic Curve.
- Boneh-Lynn-Shacham: A Signature Scheme.
-
Signature Aggregation
-
It is possible to verify
n
aggregate signatures on the same message with just2
pairings instead ofn+1
.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
''' | |
Simple vimgolf that downloads challenges at random and compares output | |
to the expected output. | |
''' | |
import feedparser, filecmp, requests, random, subprocess, tempfile | |
def main(): | |
# Select a challenge link from the challenges feed at random |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Symmetric encryption tool | |
""" | |
from base64 import b64encode | |
import sys | |
def main(): | |
usage = "Usage: {sys.argv[0]} [test | encrypt | decrypt | crack]" | |
# If no argument, print the command usage |
We're going to build a simple symmetric encryption scheme using the XOR function. And then we'll show how to break this encryption scheme.
This puzzle is heavily influenced by this: https://cryptopals.com/sets/1/challenges/1
If you like this puzzle, see that set of puzzles which goes much deeper
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Demonstrates hybrid encryption (AES-GCM + RSA): encrypts a message | |
under a public key and that can only be recovered using the corresponding | |
secret key. | |
Requires: Python 2; pycryptodomex | |
""" | |
from Crypto.Cipher import AES, PKCS1_OAEP | |
from Crypto.PublicKey import RSA | |
from Crypto.Random import get_random_bytes |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
""" | |
Quickly find paths to keys or values deeply embedded in complex structures of JSON. | |
Written in python 3. | |
Example: | |
sampleStructure = { | |
'AmiLaunchIndex': 0, | |
'Monitoring': { |