Initial commit

This commit is contained in:
sscheuneman 2025-02-03 23:42:11 +00:00
commit 692575e622
12 changed files with 496 additions and 0 deletions

10
.commit_template Normal file
View File

@ -0,0 +1,10 @@
# -----------------------------------------------------------------
# Checkpoint 1: This is one of the first times you are being asked
# to write your own code to help you solve a problem. Describe your
# experience. Did writing code help you understand the problem better?
# explain.
#
# Checkpoint 2: Describe the strategy you used to find the polyalphabetic
# secret word, and then to decrypt the secret message.

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
.DS_Store
__pycache__

25
answers.md Normal file
View File

@ -0,0 +1,25 @@
# Encryption lab answers
## Checkpoint 1
0. `secrets/secret0.txt` is encrypted using a Caesar Cipher. What is
its secret number?
1. `secrets/secret1.txt` is encrypted using a Caesar Cipher. What is
its secret number?
2. `secrets/secret2.txt` is encrypted using a Caesar Cipher. What is
its secret number?
3. `secrets/secret3.txt` is encrypted using a Caesar Cipher. What is
its secret number?
4. `secrets/secret4.txt` is encrypted using a Caesar Cipher. What is
its secret number?
## Checkpoint 2
5. What is the polyalphabetic secret word?
6. Decrypt this message, which was encrypted using the same secret word:
"EbZhdaV[h^bTpchhQnhig]X[VmhhRP]ftXVnRfjVY]fgtO_X]("

55
ciphers/caesar.py Normal file
View File

@ -0,0 +1,55 @@
from easybits import Bits
class CaesarCipher:
"""Implements the caeser cipher.
In the caeser cipher, each character is converted into a number,
then a secret number is added to each (if the result is too large, we
loop it back around), and the result is converted back into another
character.
int_min and int_max represent the lowest and highest allowed int values
of characters. They are set to include all the ASCII printable
characters (https://en.wikipedia.org/wiki/ASCII#Printable_character_table)
ASCII values outside this range (for example, '\n', the newline character),
just get passed through unencrypted.
"""
int_min = 32
int_max = 127
def __init__(self, secret):
self.secret = secret
def encrypt(self, plaintext):
"Converts a plaintext message into an encrypted ciphertext"
ciphertext = []
for char in plaintext:
plain_int = Bits(char, encoding='ascii').int
if self.int_min <= plain_int and plain_int < self.int_max:
cipher_int = self.rotate(self.secret, plain_int)
ciphertext.append(Bits(cipher_int, length=8).ascii)
else:
ciphertext.append(char)
return ''.join(ciphertext)
def decrypt(self, ciphertext):
"Converts an encrypted ciphertext into a plaintext message"
plaintext = []
for char in ciphertext:
cipher_int = Bits(char, encoding='ascii').int
if self.int_min <= cipher_int and cipher_int < self.int_max:
plain_int = self.rotate(-self.secret, cipher_int)
plaintext.append(Bits(plain_int, length=8).ascii)
else:
plaintext.append(char)
return ''.join(plaintext)
def rotate(self, secret, x):
"""Adds a secret number to x.
The modulo operator (%) is used to ensure that the result
is greater than equal to int_min and less than int_max.
"""
range_size = self.int_max - self.int_min
return (x + secret - self.int_min) % range_size + self.int_min

69
ciphers/poly.py Normal file
View File

@ -0,0 +1,69 @@
from itertools import cycle
from easybits import Bits
class PolyCipher:
"""Implements a polyalphabetic cipher.
The polyalphabetic cipher is like a Caesar cipher except that
the secret number changes for each character to be encrypted or
decrypted. This makes frequency analysis much harder, because
each plaintext space can be encrypted as a different character.
int_min and int_max represent the lowest and highest allowed int values
of characters. They are set to include all the ASCII printable
characters (https://en.wikipedia.org/wiki/ASCII#Printable_character_table)
ASCII values outside this range (for example, '\n', the newline character),
just get passed through unencrypted.
"""
int_min = 32
int_max = 127
def __init__(self, secret):
self.secret = secret
def encrypt(self, plaintext):
"Converts a plaintext message into an encrypted ciphertext"
ciphertext = []
for char, secret_char in zip(plaintext, cycle(self.secret)):
plain_int = Bits(char, encoding='ascii').int
if self.int_min <= plain_int and plain_int < self.int_max:
secret_int = self.get_int(secret_char)
cipher_int = self.rotate(secret_int, plain_int)
ciphertext.append(Bits(cipher_int, length=8).ascii)
else:
ciphertext.append(char)
return ''.join(ciphertext)
def decrypt(self, ciphertext):
"Converts an encrypted ciphertext into a plaintext message"
plaintext = []
for char, secret_char in zip(ciphertext, cycle(self.secret)):
cipher_int = Bits(char, encoding='ascii').int
if self.int_min <= cipher_int and cipher_int < self.int_max:
secret_int = self.get_int(secret_char)
plain_int = self.rotate(-secret_int, cipher_int)
plaintext.append(Bits(plain_int, length=8).ascii)
else:
plaintext.append(char)
return ''.join(plaintext)
def rotate(self, secret, x):
"""Adds a secret number to x.
The modulo operator (%) is used to ensure that the result
is greater than equal to int_min and less than int_max.
"""
range_size = self.int_max - self.int_min
return (x + secret - self.int_min) % range_size + self.int_min
def get_int(self, secret_char):
"""Converts an int or a single-character string into an int.
When `secret_char` is an int, we just return it. Otherwise we
return the character's ASCII value.
"""
if isinstance(secret_char, int):
return secret_char
else:
return Bits(secret_char, encoding='ascii').int

168
poetry.lock generated Normal file
View File

@ -0,0 +1,168 @@
# This file is automatically @generated by Poetry 2.0.0 and should not be changed by hand.
[[package]]
name = "bitarray"
version = "3.0.0"
description = "efficient arrays of booleans -- C extension"
optional = false
python-versions = "*"
groups = ["main"]
files = [
{file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5ddbf71a97ad1d6252e6e93d2d703b624d0a5b77c153b12f9ea87d83e1250e0c"},
{file = "bitarray-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e0e7f24a0b01e6e6a0191c50b06ca8edfdec1988d9d2b264d669d2487f4f4680"},
{file = "bitarray-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:150b7b29c36d9f1a24779aea723fdfc73d1c1c161dc0ea14990da27d4e947092"},
{file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8330912be6cb8e2fbfe8eb69f82dee139d605730cadf8d50882103af9ac83bb4"},
{file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e56ba8be5f17dee0ffa6d6ce85251e062ded2faa3cbd2558659c671e6c3bf96d"},
{file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ffd94b4803811c738e504a4b499fb2f848b2f7412d71e6b517508217c1d7929d"},
{file = "bitarray-3.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a0255bd05ec7165e512c115423a5255a3f301417973d20a80fc5bfc3f3640bcb"},
{file = "bitarray-3.0.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe606e728842389943a939258809dc5db2de831b1d2e0118515059e87f7bbc1a"},
{file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e89ea59a3ed86a6eb150d016ed28b1bedf892802d0ed32b5659d3199440f3ced"},
{file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:cf0cc2e91dd38122dec2e6541efa99aafb0a62e118179218181eff720b4b8153"},
{file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:2d9fe3ee51afeb909b68f97e14c6539ace3f4faa99b21012e610bbe7315c388d"},
{file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:37be5482b9df3105bad00fdf7dc65244e449b130867c3879c9db1db7d72e508b"},
{file = "bitarray-3.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0027b8f3bb2bba914c79115e96a59b9924aafa1a578223a7c4f0a7242d349842"},
{file = "bitarray-3.0.0-cp310-cp310-win32.whl", hash = "sha256:628f93e9c2c23930bd1cfe21c634d6c84ec30f45f23e69aefe1fcd262186d7bb"},
{file = "bitarray-3.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:0b655c3110e315219e266b2732609fddb0857bc69593de29f3c2ba74b7d3f51a"},
{file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:44c3e78b60070389b824d5a654afa1c893df723153c81904088d4922c3cfb6ac"},
{file = "bitarray-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:545d36332de81e4742a845a80df89530ff193213a50b4cbef937ed5a44c0e5e5"},
{file = "bitarray-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8a9eb510cde3fa78c2e302bece510bf5ed494ec40e6b082dec753d6e22d5d1b1"},
{file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e3727ab63dfb6bde00b281934e2212bb7529ea3006c0031a556a84d2268bea5"},
{file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2055206ed653bee0b56628f6a4d248d53e5660228d355bbec0014bdfa27050ae"},
{file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:147542299f458bdb177f798726e5f7d39ab8491de4182c3c6d9885ed275a3c2b"},
{file = "bitarray-3.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d3f761184b93092077c7f6b7dad7bd4e671c1620404a76620da7872ceb576a94"},
{file = "bitarray-3.0.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e008b7b4ce6c7f7a54b250c45c28d4243cc2a3bbfd5298fa7dac92afda229842"},
{file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dfea514e665af278b2e1d4deb542de1cd4f77413bee83dd15ae16175976ea8d5"},
{file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:66d6134b7bb737b88f1d16478ad0927c571387f6054f4afa5557825a4c1b78e2"},
{file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:3cd565253889940b4ec4768d24f101d9fe111cad4606fdb203ea16f9797cf9ed"},
{file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:4800c91a14656789d2e67d9513359e23e8a534c8ee1482bb9b517a4cfc845200"},
{file = "bitarray-3.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c2945e0390d1329c585c584c6b6d78be017d9c6a1288f9c92006fe907f69cc28"},
{file = "bitarray-3.0.0-cp311-cp311-win32.whl", hash = "sha256:c23286abba0cb509733c6ce8f4013cd951672c332b2e184dbefbd7331cd234c8"},
{file = "bitarray-3.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:ca79f02a98cbda1472449d440592a2fe2ad96fe55515a0447fa8864a38017cf8"},
{file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:184972c96e1c7e691be60c3792ca1a51dd22b7f25d96ebea502fe3c9b554f25d"},
{file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:787db8da5e9e29be712f7a6bce153c7bc8697ccc2c38633e347bb9c82475d5c9"},
{file = "bitarray-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2da91ab3633c66999c2a352f0ca9ae064f553e5fc0eca231d28e7e305b83e942"},
{file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7edb83089acbf2c86c8002b96599071931dc4ea5e1513e08306f6f7df879a48b"},
{file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996d1b83eb904589f40974538223eaed1ab0f62be8a5105c280b9bd849e685c4"},
{file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4817d73d995bd2b977d9cde6050be8d407791cf1f84c8047fa0bea88c1b815bc"},
{file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d47bc4ff9b0e1624d613563c6fa7b80aebe7863c56c3df5ab238bb7134e8755"},
{file = "bitarray-3.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aca0a9cd376beaccd9f504961de83e776dd209c2de5a4c78dc87a78edf61839b"},
{file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:572a61fba7e3a710a8324771322fba8488d134034d349dcd036a7aef74723a80"},
{file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a817ad70c1aff217530576b4f037dd9b539eb2926603354fcac605d824082ad1"},
{file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2ac67b658fa5426503e9581a3fb44a26a3b346c1abd17105735f07db572195b3"},
{file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:12f19ede03e685c5c588ab5ed63167999295ffab5e1126c5fe97d12c0718c18f"},
{file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fcef31b062f756ba7eebcd7890c5d5de84b9d64ee877325257bcc9782288564a"},
{file = "bitarray-3.0.0-cp312-cp312-win32.whl", hash = "sha256:656db7bdf1d81ec3b57b3cad7ec7276765964bcfd0eb81c5d1331f385298169c"},
{file = "bitarray-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f785af6b7cb07a9b1e5db0dea9ef9e3e8bb3d74874a0a61303eab9c16acc1999"},
{file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7cb885c043000924554fe2124d13084c8fdae03aec52c4086915cd4cb87fe8be"},
{file = "bitarray-3.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7814c9924a0b30ecd401f02f082d8697fc5a5be3f8d407efa6e34531ff3c306a"},
{file = "bitarray-3.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bcf524a087b143ba736aebbb054bb399d49e77cf7c04ed24c728e411adc82bfa"},
{file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1d5abf1d6d910599ac16afdd9a0ed3e24f3b46af57f3070cf2792f236f36e0b"},
{file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9929051feeaf8d948cc0b1c9ce57748079a941a1a15c89f6014edf18adaade84"},
{file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96cf0898f8060b2d3ae491762ae871b071212ded97ff9e1e3a5229e9fefe544c"},
{file = "bitarray-3.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ab37da66a8736ad5a75a58034180e92c41e864da0152b84e71fcc253a2f69cd4"},
{file = "bitarray-3.0.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:beeb79e476d19b91fd6a3439853e4e5ba1b3b475920fa40d62bde719c8af786f"},
{file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f75fc0198c955d840b836059bd43e0993edbf119923029ca60c4fc017cefa54a"},
{file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:f12cc7c7638074918cdcc7491aff897df921b092ffd877227892d2686e98f876"},
{file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:dbe1084935b942fab206e609fa1ed3f46ad1f2612fb4833e177e9b2a5e006c96"},
{file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:ac06dd72ee1e1b6e312504d06f75220b5894af1fb58f0c20643698f5122aea76"},
{file = "bitarray-3.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:00f9a88c56e373009ac3c73c55205cfbd9683fbd247e2f9a64bae3da78795252"},
{file = "bitarray-3.0.0-cp313-cp313-win32.whl", hash = "sha256:9c6e52005e91803eb4e08c0a08a481fb55ddce97f926bae1f6fa61b3396b5b61"},
{file = "bitarray-3.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:cb98d5b6eac4b2cf2a5a69f60a9c499844b8bea207059e9fc45c752436e6bb49"},
{file = "bitarray-3.0.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:eb27c01b747649afd7e1c342961680893df6d8d81f832a6f04d8c8e03a8a54cc"},
{file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4683bff52f5a0fd523fb5d3138161ef87611e63968e1fcb6cf4b0c6a86970fe0"},
{file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cb7302dbcfcb676f0b66f15891f091d0233c4fc23e1d4b9dc9b9e958156e347f"},
{file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:153d7c416a70951dcfa73487af05d2f49c632e95602f1620cd9a651fa2033695"},
{file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251cd5bd47f542893b2b61860eded54f34920ea47fd5bff038d85e7a2f7ae99b"},
{file = "bitarray-3.0.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5fa4b4d9fa90124b33b251ef74e44e737021f253dc7a9174e1b39f097451f7ca"},
{file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_aarch64.whl", hash = "sha256:18abdce7ab5d2104437c39670821cba0b32fdb9b2da9e6d17a4ff295362bd9dc"},
{file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_i686.whl", hash = "sha256:2855cc01ee370f7e6e3ec97eebe44b1453c83fb35080313145e2c8c3c5243afb"},
{file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_ppc64le.whl", hash = "sha256:0cecaf2981c9cd2054547f651537b4f4939f9fe225d3fc2b77324b597c124e40"},
{file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_s390x.whl", hash = "sha256:22b00f65193fafb13aa644e16012c8b49e7d5cbb6bb72825105ff89aadaa01e3"},
{file = "bitarray-3.0.0-cp36-cp36m-musllinux_1_2_x86_64.whl", hash = "sha256:20f30373f0af9cb583e4122348cefde93c82865dbcbccc4997108b3d575ece84"},
{file = "bitarray-3.0.0-cp36-cp36m-win32.whl", hash = "sha256:aef404d5400d95c6ec86664df9924bde667c8865f8e33c9b7bd79823d53b3e5d"},
{file = "bitarray-3.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:ec5b0f2d13da53e0975ac15ecbe8badb463bdb0bebaa09457f4df3320421915c"},
{file = "bitarray-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:041c889e69c847b8a96346650e50f728b747ae176889199c49a3f31ae1de0e23"},
{file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc83ea003dd75e9ade3291ef0585577dd5524aec0c8c99305c0aaa2a7570d6db"},
{file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c33129b49196aa7965ac0f16fcde7b6ad8614b606caf01669a0277cef1afe1d"},
{file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ef5c787c8263c082a73219a69eb60a500e157a4ac69d1b8515ad836b0e71fb4"},
{file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e15c94d79810c5ab90ddf4d943f71f14332890417be896ca253f21fa3d78d2b1"},
{file = "bitarray-3.0.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cd021ada988e73d649289cee00428b75564c46d55fbdcb0e3402e504b0ae5ea"},
{file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:7f1c24be7519f16a47b7e2ad1a1ef73023d34d8cbe1a3a59b185fc14baabb132"},
{file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:000df24c183011b5d27c23d79970f49b6762e5bb5aacd25da9c3e9695c693222"},
{file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:42bf1b222c698b467097f58b9f59dc850dfa694dde4e08237407a6a103757aa3"},
{file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:648e7ce794928e8d11343b5da8ecc5b910af75a82ea1a4264d5d0a55c3785faa"},
{file = "bitarray-3.0.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f536fc4d1a683025f9caef0bebeafd60384054579ffe0825bb9bd8c59f8c55b8"},
{file = "bitarray-3.0.0-cp37-cp37m-win32.whl", hash = "sha256:a754c1464e7b946b1cac7300c582c6fba7d66e535cd1dab76d998ad285ac5a37"},
{file = "bitarray-3.0.0-cp37-cp37m-win_amd64.whl", hash = "sha256:e91d46d12781a14ccb8b284566b14933de4e3b29f8bc5e1c17de7a2001ad3b5b"},
{file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:904c1d5e3bd24f0c0d37a582d2461312033c91436a6a4f3bdeeceb4bea4a899d"},
{file = "bitarray-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:47ccf9887bd595d4a0536f2310f0dcf89e17ab83b8befa7dc8727b8017120fda"},
{file = "bitarray-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:71ad0139c95c9acf4fb62e203b428f9906157b15eecf3f30dc10b55919225896"},
{file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53e002ac1073ac70e323a7a4bfa9ab95e7e1a85c79160799e265563f342b1557"},
{file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:acc07211a59e2f245e9a06f28fa374d094fb0e71cf5366eef52abbb826ddc81e"},
{file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98a4070ddafabddaee70b2aa7cc6286cf73c37984169ab03af1782da2351059a"},
{file = "bitarray-3.0.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b7d09ef06ba57bea646144c29764bf6b870fb3c5558ca098191e07b6a1d40bf7"},
{file = "bitarray-3.0.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce249ed981f428a8b61538ca82d3875847733d579dd40084ab8246549160f8a4"},
{file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:ea40e98d751ed4b255db4a88fe8fb743374183f78470b9e9305aab186bf28ede"},
{file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:928b8b6dfcd015e1a81334cfdac02815da2a2407854492a80cf8a3a922b04052"},
{file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:fbb645477595ce2a0fbb678d1cfd08d3b896e5d56196d40fb9e114eeab9382b3"},
{file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:dc1937a0ff2671797d35243db4b596329842480d125a65e9fe964bcffaf16dfc"},
{file = "bitarray-3.0.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:a4f49ac31734fe654a68e2515c0da7f5bbdf2d52755ba09a42ac406f1f08c9d0"},
{file = "bitarray-3.0.0-cp38-cp38-win32.whl", hash = "sha256:6d2a2ce73f9897268f58857ad6893a1a6680c5a6b28f79d21c7d33285a5ae646"},
{file = "bitarray-3.0.0-cp38-cp38-win_amd64.whl", hash = "sha256:b1047999f1797c3ea7b7c85261649249c243308dcf3632840d076d18fa72f142"},
{file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:39b38a3d45dac39d528c87b700b81dfd5e8dc8e9e1a102503336310ef837c3fd"},
{file = "bitarray-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0e104f9399144fab6a892d379ba1bb4275e56272eb465059beef52a77b4e5ce6"},
{file = "bitarray-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0879f839ec8f079fa60c3255966c2e1aa7196699a234d4e5b7898fbc321901b5"},
{file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9502c2230d59a4ace2fddfd770dad8e8b414cbd99517e7e56c55c20997c28b8d"},
{file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:57d5ef854f8ec434f2ffd9ddcefc25a10848393fe2976e2be2c8c773cf5fef42"},
{file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a3c36b2fcfebe15ad1c10a90c1d52a42bebe960adcbce340fef867203028fbe7"},
{file = "bitarray-3.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:66a33a537e781eac3a352397ce6b07eedf3a8380ef4a804f8844f3f45e335544"},
{file = "bitarray-3.0.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa54c7e1da8cf4be0aab941ea284ec64033ede5d6de3fd47d75e77cafe986e9d"},
{file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a667ea05ba1ea81b722682276dbef1d36990f8908cf51e570099fd505a89f931"},
{file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:d756bfeb62ca4fe65d2af7a39249d442c05070c047d03729ad6cd4c2e9b0f0bd"},
{file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c9e9fef0754867d88e948ce8351c9fd7e507d8514e0f242fd67c907b9cdf98b3"},
{file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:67a0b56dd02f2713f6f52cacb3f251afd67c94c5f0748026d307d87a81a8e15c"},
{file = "bitarray-3.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:d8c36ddc1923bcc4c11b9994c54eaae25034812a42400b7b8a86fe6d242166a2"},
{file = "bitarray-3.0.0-cp39-cp39-win32.whl", hash = "sha256:1414a7102a3c4986f241480544f5c99f5d32258fb9b85c9c04e84e48c490ab35"},
{file = "bitarray-3.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:8c9733d2ff9b7838ac04bf1048baea153174753e6a47312be14c83c6a395424b"},
{file = "bitarray-3.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:fef4e3b3f2084b4dae3e5316b44cda72587dcc81f68b4eb2dbda1b8d15261b61"},
{file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7e9eee03f187cef1e54a4545124109ee0afc84398628b4b32ebb4852b4a66393"},
{file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cb5702dd667f4bb10fed056ffdc4ddaae8193a52cd74cb2cdb54e71f4ef2dd1"},
{file = "bitarray-3.0.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:666e44b0458bb2894b64264a29f2cc7b5b2cbcc4c5e9cedfe1fdbde37a8e329a"},
{file = "bitarray-3.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c756a92cf1c1abf01e56a4cc40cb89f0ff9147f2a0be5b557ec436a23ff464d8"},
{file = "bitarray-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7e51e7f8289bf6bb631e1ef2a8f5e9ca287985ff518fe666abbdfdb6a848cb26"},
{file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3fa5d8e4b28388b337face6ce4029be73585651a44866901513df44be9a491ab"},
{file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3963b80a68aedcd722a9978d261ae53cb9bb6a8129cc29790f0f10ce5aca287a"},
{file = "bitarray-3.0.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0b555006a7dea53f6bebc616a4d0249cecbf8f1fadf77860120a2e5dbdc2f167"},
{file = "bitarray-3.0.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:4ac2027ca650a7302864ed2528220d6cc6921501b383e9917afc7a2424a1e36d"},
{file = "bitarray-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:bf90aba4cff9e72e24ecdefe33bad608f147a23fa5c97790a5bab0e72fe62b6d"},
{file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d1a199e6d7c3bad5ba9d0e4dc00dde70ee7d111c9dfc521247fa646ef59fa57e"},
{file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:43b6c7c4f4a7b80e86e24a76f4c6b9b67d03229ea16d7d403520616535c32196"},
{file = "bitarray-3.0.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:34fc13da3518f14825b239374734fce93c1a9299ed7b558c3ec1d659ec7e4c70"},
{file = "bitarray-3.0.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:369b6d457af94af901d632c7e625ca6caf0a7484110fc91c6290ce26bc4f1478"},
{file = "bitarray-3.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:ee040ad3b7dfa05e459713099f16373c1f2a6f68b43cb0575a66718e7a5daef4"},
{file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dad7ba2af80f9ec1dd988c3aca7992408ec0d0b4c215b65d353d95ab0070b10"},
{file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4839d3b64af51e4b8bb4a602563b98b9faeb34fd6c00ed23d7834e40a9d080fc"},
{file = "bitarray-3.0.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f71f24b58e75a889b9915e3197865302467f13e7390efdea5b6afc7424b3a2ea"},
{file = "bitarray-3.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:bcf0150ae0bcc4aa97bdfcb231b37bad1a59083c1b5012643b266012bf420e68"},
{file = "bitarray-3.0.0.tar.gz", hash = "sha256:a2083dc20f0d828a7cdf7a16b20dae56aab0f43dc4f347a3b3039f6577992b03"},
]
[[package]]
name = "easybits"
version = "0.1.4"
description = "A friendly interface for exploring bits."
optional = false
python-versions = "<4.0,>=3.9"
groups = ["main"]
files = [
{file = "easybits-0.1.4-py3-none-any.whl", hash = "sha256:f0059ad99564717332dd52c1c6d417caa71195a288038268a2b93c62f5bc87f7"},
{file = "easybits-0.1.4.tar.gz", hash = "sha256:2cae9c40098d9d27135c39beb1ad528409b9a744330dd30cacb8f6fd374fb9e7"},
]
[package.dependencies]
bitarray = ">=3.0.0,<4.0.0"
[metadata]
lock-version = "2.1"
python-versions = ">=3.10,<4.0"
content-hash = "df61bd1ca8e15e76d211947a3e194948a941734bba9c9010e446a990f5a8661f"

21
pyproject.toml Normal file
View File

@ -0,0 +1,21 @@
[project]
name = "lab-encryption"
version = "0.1.0"
description = ""
authors = [
{name = "Chris Proctor",email = "chris@chrisproctor.net"}
]
license = {text = "MIT"}
readme = "README.md"
requires-python = ">=3.10,<4.0"
dependencies = [
"easybits (>=0.1.4,<0.2.0)"
]
[build-system]
requires = ["poetry-core>=2.0.0,<3.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry]
package-mode = false

29
secrets/secret0.txt Normal file
View File

@ -0,0 +1,29 @@
ChVTanChVTaznQda]X]VnQaXVWczn
8]ncWTnU^aTbcbn^UncWTn]XVWc*n
FWPcnX\\^acP[nWP]Sn^anThTzn
2^d[SnUaP\TncWhnUTPaUd[nbh\\Tcah.
8]nfWPcnSXbcP]cnSTT_bn^anbZXTb|n
1da]cncWTnUXaTn^UncWX]TnThTb.
>]nfWPcnfX]VbnSPaTnWTnPb_XaT.
FWPcncWTnWP]SznSPaTnbTXiTncWTnUXaT.
0]SnfWPcnbW^d[STazntnfWPcnPacz
2^d[SncfXbcncWTnbX]Tfbn^UncWhnWTPac.
0]SnfWT]ncWhnWTPacnQTVP]nc^nQTPc|
FWPcnSaTPSnWP]S.ntnfWPcnSaTPSnUTTc.
FWPcncWTnWP\\Ta.nfWPcncWTnRWPX]z
8]nfWPcnUda]PRTnfPbncWhnQaPX].
FWPcncWTnP]eX[.nfWPcnSaTPSnVaPb_|
3PaTnXcbnSTPS[hncTaa^abnR[Pb_.
FWT]ncWTnbcPabncWaTfnS^f]ncWTXanb_TPabn
0]SnfPcTauSnWTPeT]nfXcWncWTXancTPab)
3XSnWTnb\X[TnWXbnf^aZnc^nbTT.
3XSnWTnfW^n\PSTncWTn;P\Qn\PZTncWTT.
ChVTanChVTanQda]X]VnQaXVWcz
8]ncWTnU^aTbcbn^UncWTn]XVWc)
FWPcnX\\^acP[nWP]Sn^anThTz
3PaTnUaP\TncWhnUTPaUd[nbh\\Tcah.

19
secrets/secret1.txt Normal file
View File

@ -0,0 +1,19 @@
Pof!nvtu!ibwf!b!njoe!pg!xjoufs
Up!sfhbse!uif!gsptu!boe!uif!cpvhit
Pg!uif!qjof.usfft!dsvtufe!xjui!topx<
Boe!ibwf!cffo!dpme!b!mpoh!ujnf
Up!cfipme!uif!kvojqfst!tibhhfe!xjui!jdf-
Uif!tqsvdft!spvhi!jo!uif!ejtubou!hmjuufs
Pg!uif!Kbovbsz!tvo<!boe!opu!up!uijol
Pg!boz!njtfsz!jo!uif!tpvoe!pg!uif!xjoe-
Jo!uif!tpvoe!pg!b!gfx!mfbwft-
Xijdi!jt!uif!tpvoe!pg!uif!mboe
Gvmm!pg!uif!tbnf!xjoe
Uibu!jt!cmpxjoh!jo!uif!tbnf!cbsf!qmbdf
Gps!uif!mjtufofs-!xip!mjtufot!jo!uif!topx-
Boe-!opuijoh!ijntfmg-!cfipmet
Opuijoh!uibu!jt!opu!uifsf!boe!uif!opuijoh!uibu!jt/

59
secrets/secret2.txt Normal file
View File

@ -0,0 +1,59 @@
z<DL.@LuLD.@LF<B;4L.;1L2.@FLB;12?LA52L.==92L/<B45@
m/<BALA52L969A6;4L5<B@2L.;1L5.==FL.@LA52L4?.@@LD.@L4?22;X
LLLLL!52L;645AL./<C2LA52L16;492L@A.??FX
LLLLLLLLLL!6:2L92AL:2L5.69L.;1L096:/
LLLLLs<912;L6;LA52L52F1.F@L<3L56@L2F2@X
m;1L5<;<B?21L.:<;4LD.4<;@LuLD.@L=?6;02L<3LA52L.==92LA<D;@
m;1L<;02L/29<DL.LA6:2LuL9<?19FL5.1LA52LA?22@L.;1L92.C2@
LLLLLLLLLL!?.69LD6A5L1.6@62@L.;1L/.?92F
LLLLLp<D;LA52L?6C2?@L<3LA52LD6;13.99L9645AZ
m;1L.@LuLD.@L4?22;L.;1L0.?23?22XL3.:<B@L.:<;4LA52L/.?;@
m/<BALA52L5.==FLF.?1L.;1L@6;46;4L.@LA52L3.?:LD.@L5<:2X
LLLLLu;LA52L@B;LA5.AL6@LF<B;4L<;02L<;9FX
LLLLLLLLLL!6:2L92AL:2L=9.FL.;1L/2
LLLLLs<912;L6;LA52L:2?0FL<3L56@L:2.;@X
m;1L4?22;L.;1L4<912;LuLD.@L5B;A@:.;L.;1L52?1@:.;XLA52L0.9C2@
.;4LA<L:FL5<?;XLA52L3<E2@L<;LA52L5699@L/.?821L092.?L.;1L0<91X
LLLLLLLLLLm;1LA52L@.//.A5L?.;4L@9<D9F
LLLLLu;LA52L=2//92@L<3LA52L5<9FL@A?2.:@Z
m99LA52L@B;L9<;4L6ALD.@L?B;;6;4XL6ALD.@L9<C29FXLA52L5.F
r6291@L5645L.@LA52L5<B@2XLA52LAB;2@L3?<:LA52L056:;2F@XL6ALD.@L.6?
LLLLLm;1L=9.F6;4XL9<C29FL.;1LD.A2?F
LLLLLLLLLLm;1L36?2L4?22;L.@L4?.@@Z
LLLLLm;1L;645A9FLB;12?LA52L@6:=92L@A.?@
m@LuL?<12LA<L@922=LA52L<D9@LD2?2L/2.?6;4LA52L3.?:L.D.FX
m99LA52L:<<;L9<;4LuL52.?1XL/92@@21L.:<;4L@A./92@XLA52L;645A7.?@
LLLLLr9F6;4LD6A5LA52L?608@XL.;1LA52L5<?@2@
LLLLLLLLLLr9.@56;4L6;A<LA52L1.?8Z
m;1LA52;LA<L.D.82XL.;1LA52L3.?:XL9682L.LD.;12?2?LD56A2
$6A5LA52L12DXL0<:2L/.08XLA52L0<08L<;L56@L@5<B912?fL6ALD.@L.99
LLLLL 56;6;4XL6ALD.@Lm1.:L.;1L:.612;X
LLLLLLLLLL!52L@8FL4.A52?21L.4.6;
LLLLLm;1LA52L@B;L4?2DL?<B;1LA5.ALC2?FL1.FZ
<L6AL:B@AL5.C2L/22;L.3A2?LA52L/6?A5L<3LA52L@6:=92L9645A
u;LA52L36?@AXL@=6;;6;4L=9.02XLA52L@=299/<B;1L5<?@2@LD.986;4LD.?:
LLLLL{BAL<3LA52LD56;;F6;4L4?22;L@A./92
LLLLLLLLLL{;LA<LA52L36291@L<3L=?.6@2Z
m;1L5<;<B?21L.:<;4L3<E2@L.;1L=52.@.;A@L/FLA52L4.FL5<B@2
";12?LA52L;2DL:.12L09<B1@L.;1L5.==FL.@LA52L52.?ALD.@L9<;4X
LLLLLu;LA52L@B;L/<?;L<C2?L.;1L<C2?X
LLLLLLLLLLuL?.;L:FL522192@@LD.F@X
LLLLLyFLD6@52@L?.021LA5?<B45LA52L5<B@2L5645L5.F
m;1L;<A56;4LuL0.?21XL.AL:FL@8FL/9B2LA?.12@XLA5.ALA6:2L.99<D@
u;L.99L56@LAB;23B9LAB?;6;4L@<L32DL.;1L@B05L:<?;6;4L@<;4@
LLLLLn23<?2LA52L05691?2;L4?22;L.;1L4<912;
LLLLLLLLLLr<99<DL56:L<BAL<3L4?.02X
z<A56;4LuL0.?21XL6;LA52L9.:/LD56A2L1.F@XLA5.ALA6:2LD<B91LA.82L:2
"=LA<LA52L@D.99<DLA5?<;421L9<3AL/FLA52L@5.1<DL<3L:FL5.;1X
LLLLLu;LA52L:<<;LA5.AL6@L.9D.F@L?6@6;4X
LLLLLLLLLLz<?LA5.AL?616;4LA<L@922=
LLLLLuL@5<B91L52.?L56:L39FLD6A5LA52L5645L36291@
m;1LD.82LA<LA52L3.?:L3<?2C2?L3921L3?<:LA52L0569192@@L9.;1Z
{5L.@LuLD.@LF<B;4L.;1L2.@FL6;LA52L:2?0FL<3L56@L:2.;@X
LLLLLLLLLL!6:2L5291L:2L4?22;L.;1L1F6;4
LLLLL!5<B45LuL@.;4L6;L:FL05.6;@L9682LA52L@2.Z

14
secrets/secret3.txt Normal file
View File

@ -0,0 +1,14 @@
3DAJ[PK[PDA[OAOOEKJO[KB[OSAAP[OEHAJP[PDKQCDP
%[OQIIKJ[QL[NAIAI>N=J?A[KB[PDEJCO[L=OPg
%[OECD[PDA[H=?G[KB[I=JU[=[PDEJC[%[OKQCDPg
|J@[SEPD[KH@[SKAO[JAS[S=EH[IU[@A=N[PEIAbO[S=OPAu
0DAJ[?=J[%[@NKSJ[=J[AUAg[QJQOb@[PK[BHKSg
"KN[LNA?EKQO[BNEAJ@O[DE@[EJ[@A=PDbO[@=PAHAOO[JECDPg
|J@[SAAL[=BNAOD[HKRAbO[HKJC[OEJ?A[?=J?AHHb@[SKAg
|J@[IK=J[PDb[ATLAJOA[KB[I=JU[=[R=JEODb@[OECDPv
0DAJ[?=J[%[CNEARA[=P[CNEAR=J?AO[BKNACKJAg
|J@[DA=REHU[BNKI[SKA[PK[SKA[PAHH[KbAN
0DA[O=@[=??KQJP[KB[BKNAh>AIK=JA@[IK=Jg
3DE?D[%[JAS[L=U[=O[EB[JKP[L=E@[>ABKNAi
}QP[EB[PDA[SDEHA[%[PDEJG[KJ[PDAAg[@A=N[BNEAJ@g
|HH[HKOOAO[=NA[NAOPKNb@g[=J@[OKNNKSO[AJ@i

25
secrets/secret4.txt Normal file
View File

@ -0,0 +1,25 @@
l"5&@a6(645L@(*7&/@)&"7:@3"*/@"/%@46/
f03@"@'6--@8&&,L@5)&@#-"$,#&33*&4@806-%@3*1&/N
a5@'*345L@+645@0/&L@"@(-044:@1631-&@$-05
a.0/(@05)&34L@3&%L@(3&&/L@)"3%@"4@"@,/05N
y06@"5&@5)"5@'*345@0/&@"/%@*54@'-&4)@8"4@48&&5
l*,&@5)*$,&/&%@8*/&Z@46..&3G4@#-00%@8"4@*/@*5
l&"7*/(@45"*/4@610/@5)&@50/(6&@"/%@-645@'03
p*$,*/(N@t)&/@3&%@0/&4@*/,&%@61@"/%@5)"5@)6/(&3
s&/5@64@065@8*5)@.*-,@$"/4L@1&"@5*/4L@+".M1054
w)&3&@#3*"34@4$3"5$)&%@"/%@8&5@(3"44@#-&"$)&%@063@#0054N
r06/%@)":'*&-%4L@$03/'*&-%4@"/%@105"50M%3*--4
w&@53&,,&%@"/%@1*$,&%@6/5*-@5)&@$"/4@8&3&@'6--L
u/5*-@5)&@5*/,-*/(@#0550.@)"%@#&&/@$07&3&%
w*5)@(3&&/@0/&4L@"/%@0/@501@#*(@%"3,@#-0#4@#63/&%
l*,&@"@1-"5&@0'@&:&4N@o63@)"/%4@8&3&@1&11&3&%
w*5)@5)03/@13*$,4L@063@1"-.4@45*$,:@"4@b-6&#&"3%G4N
w&@)0"3%&%@5)&@'3&4)@#&33*&4@*/@5)&@#:3&N
b65@8)&/@5)&@#"5)@8"4@'*--&%@8&@'06/%@"@'63L
a@3"5M(3&:@'6/(64L@(-655*/(@0/@063@$"$)&N
t)&@+6*$&@8"4@45*/,*/(@500N@o/$&@0''@5)&@#64)
t)&@'36*5@'&3.&/5&%L@5)&@48&&5@'-&4)@806-%@563/@4063N
i@"-8":4@'&-5@-*,&@$3:*/(N@i5@8"4/G5@'"*3
t)"5@"--@5)&@-07&-:@$"/'6-4@4.&-5@0'@305N
e"$)@:&"3@i@)01&%@5)&:G%@,&&1L@,/&8@5)&:@806-%@/05N