diff --git a/README.md b/README.md
index b764111..f17d7e4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,4 @@
-# Sierra-Security
-
-Sierra Security
+# Sierra Security
Introduction
@@ -10,8 +8,37 @@ Sierra Security is a verification system I plan to integrate across my systems.
The code is designed to be pasted at the start of your program. There are many variations for this module. Ensure that you are downloading the correct one:
-`sierra-security-combination-X-X-X`: Combination of uuid verification and generation. Do not use for locks
+* `sierra-security-combination-x-x-x.py`: Combination of uuid verification and generation. **Do not use for locks.**
+* `sierra-security-generation-x-x-x.py`: Generation only, suitable for portable "keychains".
+* `sierra-security-verification-x-x-x.py`: Verification only, suitable for locks.
-`sierra-security-generation-X-X-X`: Generation only, suitable for portable "keychains"
+---
-`sierra-security-verification-X-X-X`: verification only, suitable for locks
\ No newline at end of file
+## V. A-2 Technical Enhancements & Hardening
+
+Compared to the original A-1 logic, the **Version A-2** suite includes several critical security and cryptographic enhancements to prevent unauthorized access and forensic recovery across all P7MJ software.
+
+### 1. Brute-Force Immunity (Hash Stretching)
+* **The Upgrade**: Implements **50,000 rounds** of SHA-256 hashing (Hash Stretching). This forces the computer to perform significant mathematical work for every single guess.
+* **Impact**: Even if an analyst identifies the 0-999 key range, testing all 1,000 keys would now take an automated script hours to complete. Since the ID expires every 15 minutes, brute-forcing is mathematically impossible.
+
+### 2. Cryptographic Rolling Salt (Daily Expiration)
+* **The Upgrade**: The internal cryptographic "base" of the program now shifts every 24 hours based on the current UTC date string.
+* **How it Works**: The salt remains consistent for a 24-hour window. However, at 00:00 UTC, the date changes, causing the resulting UUIDs for the exact same keys to change entirely.
+* **Impact**: If a master key or authorized UUID is leaked or captured by a listener today, it becomes **completely useless tomorrow**. This prevents long-term replay attacks.
+
+### 3. Global Sync (UTC Persistence)
+* **The Problem**: Standard local time varies by region, causing synchronization failures between a keychain and a target PC.
+* **The Fix**: Synchronized to **Coordinated Universal Time (UTC)** using timezone-aware objects.
+* **Impact**: Your keychain (phone/laptop) and your programs will always match perfectly, regardless of travel or geographical location.
+
+### 4. Anti-Automation Delay
+* **The Logic**: Added an artificial 1.5-second `time.sleep()` during the verification process.
+* **Impact**: Limits the speed of manual or macro-based attempts. Combined with the 3-chance limit, automated "brute-force spam" is rendered ineffective.
+
+### 5. Premium Visual Identity
+* **Upgrade**: Switched to high-fidelity "Sierra Curvy" ASCII art and implemented ANSI color-coding (Blue/Green/Red/Yellow).
+* **Impact**: Improved user experience and a professional, "elite" software feel.
+
+---
+*Developed for All P7MJ Projects 2026*
diff --git a/sierra-security-combination-v-a-1.py b/V. A-1/sierra-security-combination-v-a-2.py
similarity index 95%
rename from sierra-security-combination-v-a-1.py
rename to V. A-1/sierra-security-combination-v-a-2.py
index 041b4f3..68186d9 100644
--- a/sierra-security-combination-v-a-1.py
+++ b/V. A-1/sierra-security-combination-v-a-2.py
@@ -1,100 +1,100 @@
-# ____ _ ____ _ _
-# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
-# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
-# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
-# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
-# Combination V. A-1 |___/ 20260128
-
-# Required imports:
-import datetime, hashlib, uuid, sys
-
-# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
-
-sierra_verification_chances = 3
-
-def sierra_get_key(): # Get a key
- while True:
- try:
- key = int(input("Enter a key (0-999) > "))
- if 0 <= key <= 999:
- return f"{key:03d}" # Format as 3-digit with leading zeros
- else:
- print("Key must be between 0 and 999. Please try again.")
- except ValueError:
- print("Invalid input. Enter a number between 0 and 999.")
-
-def sierra_create_time_code(): # Get the 12-digit time code
- now = datetime.datetime.now()
- minutes = (now.minute // 15) * 15 # Quarter Hours
- rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
- return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
-
-def sierra_create_key(key, time_code): # Combine key and time code
- combined = f"{key}{time_code}"
- hash_obj = hashlib.sha256(combined.encode())
- hash_hex = hash_obj.hexdigest()
- namespace = uuid.NAMESPACE_DNS
- name = combined.encode()
- deterministic_uuid = uuid.uuid5(namespace, combined)
- return str(deterministic_uuid)
-
-def sierra_verify():
- global sierra_verification_chances
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- correct_uuid = sierra_create_key(key, time_code)
- user_uuid = input("Enter UUID > ").strip()
-
- # Compare
- if user_uuid == correct_uuid:
- print("Verification Successful.")
- return True
- else:
- sierra_verification_chances -= 1
- print(f"Verification Failed. {sierra_verification_chances} chances left.")
-
-def sierra_create_uuid():
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- generated_uuid = sierra_create_key(key, time_code)
-
- print(f"""
-Generated Key and UUID:
-Key: {key}
-UUID: {generated_uuid}
-""")
-
-def sierra():
- global sierra_verification_chances
- print("=" * 80)
- print("Sierra Security Combination Version A-1")
- print("-" * 80)
-
- try:
- while True and sierra_verification_chances > 0:
- print("""Select a mode:
-[1] Generate a UUID
-[2] Verify a UUID
-[3] Exit
- """)
-
- choice = input("Enter your choice > ").strip()
-
- if choice == "1":
- sierra_create_uuid()
- elif choice == "2":
- verification_result = sierra_verify()
- if verification_result:
- break
- elif choice == "3":
- print("Exiting.")
- sys.exit(0)
- else:
- print("Error: Invalid choice.")
- sys.exit(0)
- except KeyboardInterrupt:
- print("\nUser Terminated (Ctrl + C.)")
-
-if __name__ == "__main__":
- sierra()
+# ____ _ ____ _ _
+# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
+# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
+# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
+# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
+# Combination V. A-1 |___/ 20260128
+
+# Required imports:
+import datetime, hashlib, uuid, sys
+
+# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
+
+sierra_verification_chances = 3
+
+def sierra_get_key(): # Get a key
+ while True:
+ try:
+ key = int(input("Enter a key (0-999) > "))
+ if 0 <= key <= 999:
+ return f"{key:03d}" # Format as 3-digit with leading zeros
+ else:
+ print("Key must be between 0 and 999. Please try again.")
+ except ValueError:
+ print("Invalid input. Enter a number between 0 and 999.")
+
+def sierra_create_time_code(): # Get the 12-digit time code
+ now = datetime.datetime.now()
+ minutes = (now.minute // 15) * 15 # Quarter Hours
+ rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
+
+def sierra_create_key(key, time_code): # Combine key and time code
+ combined = f"{key}{time_code}"
+ hash_obj = hashlib.sha256(combined.encode())
+ hash_hex = hash_obj.hexdigest()
+ namespace = uuid.NAMESPACE_DNS
+ name = combined.encode()
+ deterministic_uuid = uuid.uuid5(namespace, combined)
+ return str(deterministic_uuid)
+
+def sierra_verify():
+ global sierra_verification_chances
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ correct_uuid = sierra_create_key(key, time_code)
+ user_uuid = input("Enter UUID > ").strip()
+
+ # Compare
+ if user_uuid == correct_uuid:
+ print("Verification Successful.")
+ return True
+ else:
+ sierra_verification_chances -= 1
+ print(f"Verification Failed. {sierra_verification_chances} chances left.")
+
+def sierra_create_uuid():
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ generated_uuid = sierra_create_key(key, time_code)
+
+ print(f"""
+Generated Key and UUID:
+Key: {key}
+UUID: {generated_uuid}
+""")
+
+def sierra():
+ global sierra_verification_chances
+ print("=" * 80)
+ print("Sierra Security Combination Version A-1")
+ print("-" * 80)
+
+ try:
+ while True and sierra_verification_chances > 0:
+ print("""Select a mode:
+[1] Generate a UUID
+[2] Verify a UUID
+[3] Exit
+ """)
+
+ choice = input("Enter your choice > ").strip()
+
+ if choice == "1":
+ sierra_create_uuid()
+ elif choice == "2":
+ verification_result = sierra_verify()
+ if verification_result:
+ break
+ elif choice == "3":
+ print("Exiting.")
+ sys.exit(0)
+ else:
+ print("Error: Invalid choice.")
+ sys.exit(0)
+ except KeyboardInterrupt:
+ print("\nUser Terminated (Ctrl + C.)")
+
+if __name__ == "__main__":
+ sierra()
# ==========================================================================================================
\ No newline at end of file
diff --git a/sierra-security-generation-v-a-1.py b/V. A-1/sierra-security-generation-v-a-1.py
similarity index 95%
rename from sierra-security-generation-v-a-1.py
rename to V. A-1/sierra-security-generation-v-a-1.py
index f731356..c172376 100644
--- a/sierra-security-generation-v-a-1.py
+++ b/V. A-1/sierra-security-generation-v-a-1.py
@@ -1,95 +1,95 @@
-# ____ _ ____ _ _
-# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
-# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
-# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
-# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
-# Generation V. A-1 |___/ 20260128
-
-# Required imports:
-import datetime, hashlib, uuid, sys
-
-# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
-
-sierra_verification_chances = 3
-
-def sierra_get_key(): # Get a key
- while True:
- try:
- key = int(input("Enter a key (0-999) > "))
- if 0 <= key <= 999:
- return f"{key:03d}" # Format as 3-digit with leading zeros
- else:
- print("Key must be between 0 and 999. Please try again.")
- except ValueError:
- print("Invalid input. Enter a number between 0 and 999.")
-
-def sierra_create_time_code(): # Get the 12-digit time code
- now = datetime.datetime.now()
- minutes = (now.minute // 15) * 15 # Quarter Hours
- rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
- return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
-
-def sierra_create_key(key, time_code): # Combine key and time code
- combined = f"{key}{time_code}"
- hash_obj = hashlib.sha256(combined.encode())
- hash_hex = hash_obj.hexdigest()
- namespace = uuid.NAMESPACE_DNS
- name = combined.encode()
- deterministic_uuid = uuid.uuid5(namespace, combined)
- return str(deterministic_uuid)
-
-def sierra_verify():
- global sierra_verification_chances
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- correct_uuid = sierra_create_key(key, time_code)
- user_uuid = input("Enter UUID > ").strip()
-
- # Compare
- if user_uuid == correct_uuid:
- print("Verification Successful.")
- return True
- else:
- sierra_verification_chances -= 1
- print(f"Verification Failed. {sierra_verification_chances} chances left.")
-
-def sierra_create_uuid():
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- generated_uuid = sierra_create_key(key, time_code)
-
- print(f"""
-Generated Key and UUID:
-Key: {key}
-UUID: {generated_uuid}
- """)
-
-def sierra():
- global sierra_verification_chances
- print("=" * 80)
- print("Sierra Security Generation Version A-1")
- print("-" * 80)
-
- try:
- while True and sierra_verification_chances > 0:
- print("""Select a mode:
-[1] Generate a UUID
-[2] Exit
- """)
-
- choice = input("Enter your choice > ").strip()
-
- if choice == "1":
- sierra_create_uuid()
- elif choice == "2":
- print("Exiting.")
- sys.exit(0)
- else:
- print("Error: Invalid choice.")
- sys.exit(0)
- except KeyboardInterrupt:
- print("\nUser Terminated (Ctrl + C.)")
-
-if __name__ == "__main__":
- sierra()
+# ____ _ ____ _ _
+# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
+# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
+# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
+# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
+# Generation V. A-1 |___/ 20260128
+
+# Required imports:
+import datetime, hashlib, uuid, sys
+
+# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
+
+sierra_verification_chances = 3
+
+def sierra_get_key(): # Get a key
+ while True:
+ try:
+ key = int(input("Enter a key (0-999) > "))
+ if 0 <= key <= 999:
+ return f"{key:03d}" # Format as 3-digit with leading zeros
+ else:
+ print("Key must be between 0 and 999. Please try again.")
+ except ValueError:
+ print("Invalid input. Enter a number between 0 and 999.")
+
+def sierra_create_time_code(): # Get the 12-digit time code
+ now = datetime.datetime.now()
+ minutes = (now.minute // 15) * 15 # Quarter Hours
+ rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
+
+def sierra_create_key(key, time_code): # Combine key and time code
+ combined = f"{key}{time_code}"
+ hash_obj = hashlib.sha256(combined.encode())
+ hash_hex = hash_obj.hexdigest()
+ namespace = uuid.NAMESPACE_DNS
+ name = combined.encode()
+ deterministic_uuid = uuid.uuid5(namespace, combined)
+ return str(deterministic_uuid)
+
+def sierra_verify():
+ global sierra_verification_chances
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ correct_uuid = sierra_create_key(key, time_code)
+ user_uuid = input("Enter UUID > ").strip()
+
+ # Compare
+ if user_uuid == correct_uuid:
+ print("Verification Successful.")
+ return True
+ else:
+ sierra_verification_chances -= 1
+ print(f"Verification Failed. {sierra_verification_chances} chances left.")
+
+def sierra_create_uuid():
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ generated_uuid = sierra_create_key(key, time_code)
+
+ print(f"""
+Generated Key and UUID:
+Key: {key}
+UUID: {generated_uuid}
+ """)
+
+def sierra():
+ global sierra_verification_chances
+ print("=" * 80)
+ print("Sierra Security Generation Version A-1")
+ print("-" * 80)
+
+ try:
+ while True and sierra_verification_chances > 0:
+ print("""Select a mode:
+[1] Generate a UUID
+[2] Exit
+ """)
+
+ choice = input("Enter your choice > ").strip()
+
+ if choice == "1":
+ sierra_create_uuid()
+ elif choice == "2":
+ print("Exiting.")
+ sys.exit(0)
+ else:
+ print("Error: Invalid choice.")
+ sys.exit(0)
+ except KeyboardInterrupt:
+ print("\nUser Terminated (Ctrl + C.)")
+
+if __name__ == "__main__":
+ sierra()
# ==========================================================================================================
\ No newline at end of file
diff --git a/sierra-security-verification-v-a-1.py b/V. A-1/sierra-security-verification-v-a-1.py
similarity index 95%
rename from sierra-security-verification-v-a-1.py
rename to V. A-1/sierra-security-verification-v-a-1.py
index 6bb3f9f..02c16d4 100644
--- a/sierra-security-verification-v-a-1.py
+++ b/V. A-1/sierra-security-verification-v-a-1.py
@@ -1,96 +1,96 @@
-# ____ _ ____ _ _
-# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
-# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
-# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
-# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
-# Verification V. A-1 |___/ 20260128
-
-# Required imports:
-import datetime, hashlib, uuid, sys
-
-# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
-
-sierra_verification_chances = 3
-
-def sierra_get_key(): # Get a key
- while True:
- try:
- key = int(input("Enter a key (0-999) > "))
- if 0 <= key <= 999:
- return f"{key:03d}" # Format as 3-digit with leading zeros
- else:
- print("Key must be between 0 and 999. Please try again.")
- except ValueError:
- print("Invalid input. Enter a number between 0 and 999.")
-
-def sierra_create_time_code(): # Get the 12-digit time code
- now = datetime.datetime.now()
- minutes = (now.minute // 15) * 15 # Quarter Hours
- rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
- return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
-
-def sierra_create_key(key, time_code): # Combine key and time code
- combined = f"{key}{time_code}"
- hash_obj = hashlib.sha256(combined.encode())
- hash_hex = hash_obj.hexdigest()
- namespace = uuid.NAMESPACE_DNS
- name = combined.encode()
- deterministic_uuid = uuid.uuid5(namespace, combined)
- return str(deterministic_uuid)
-
-def sierra_verify():
- global sierra_verification_chances
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- correct_uuid = sierra_create_key(key, time_code)
- user_uuid = input("Enter UUID > ").strip()
-
- # Compare
- if user_uuid == correct_uuid:
- print("Verification Successful.")
- return True
- else:
- sierra_verification_chances -= 1
- print(f"Verification Failed. {sierra_verification_chances} chances left.")
-
-def sierra_create_uuid():
- key = sierra_get_key()
- time_code = sierra_create_time_code()
- generated_uuid = sierra_create_key(key, time_code)
-
- print(f"""
-Generated Key and UUID:
-Key: {key}
-UUID: {generated_uuid}
- """)
-
-def sierra():
- global sierra_verification_chances
- print("=" * 80)
- print("Sierra Security Verification Version A-1")
- print("-" * 80)
-
- try:
- while True and sierra_verification_chances > 0:
- print("""Select a mode:
-[1] Verify a UUID
-[2] Exit
- """)
-
- choice = input("Enter your choice > ").strip()
- if choice == "1":
- verification_result = sierra_verify()
- if verification_result:
- break
- elif choice == "2":
- print("Exiting.")
- sys.exit(0)
- else:
- print("Error: Invalid choice.")
- sys.exit(0)
- except KeyboardInterrupt:
- print("\nUser Terminated (Ctrl + C.)")
-
-if __name__ == "__main__":
- sierra()
+# ____ _ ____ _ _
+# / ___|(_) ___ _ __ _ __ __ _ / ___| ___ ___ _ _ _ __(_) |_ _ _
+# \___ \| |/ _ \ '__| '__/ _` | \___ \ / _ \/ __| | | | '__| | __| | | |
+# ___) | | __/ | | | | (_| | ___) | __/ (__| |_| | | | | |_| |_| |
+# |____/|_|\___|_| |_| \__,_| |____/ \___|\___|\__,_|_| |_|\__|\__, | P7MJ
+# Verification V. A-1 |___/ 20260128
+
+# Required imports:
+import datetime, hashlib, uuid, sys
+
+# To use, call sierra(). If verification is successful, user will be able to proceed, if not the entire program will terminate.
+
+sierra_verification_chances = 3
+
+def sierra_get_key(): # Get a key
+ while True:
+ try:
+ key = int(input("Enter a key (0-999) > "))
+ if 0 <= key <= 999:
+ return f"{key:03d}" # Format as 3-digit with leading zeros
+ else:
+ print("Key must be between 0 and 999. Please try again.")
+ except ValueError:
+ print("Invalid input. Enter a number between 0 and 999.")
+
+def sierra_create_time_code(): # Get the 12-digit time code
+ now = datetime.datetime.now()
+ minutes = (now.minute // 15) * 15 # Quarter Hours
+ rounded_time = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded_time.strftime("%Y%m%d%H%M") #YYYYMMDDHHMM
+
+def sierra_create_key(key, time_code): # Combine key and time code
+ combined = f"{key}{time_code}"
+ hash_obj = hashlib.sha256(combined.encode())
+ hash_hex = hash_obj.hexdigest()
+ namespace = uuid.NAMESPACE_DNS
+ name = combined.encode()
+ deterministic_uuid = uuid.uuid5(namespace, combined)
+ return str(deterministic_uuid)
+
+def sierra_verify():
+ global sierra_verification_chances
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ correct_uuid = sierra_create_key(key, time_code)
+ user_uuid = input("Enter UUID > ").strip()
+
+ # Compare
+ if user_uuid == correct_uuid:
+ print("Verification Successful.")
+ return True
+ else:
+ sierra_verification_chances -= 1
+ print(f"Verification Failed. {sierra_verification_chances} chances left.")
+
+def sierra_create_uuid():
+ key = sierra_get_key()
+ time_code = sierra_create_time_code()
+ generated_uuid = sierra_create_key(key, time_code)
+
+ print(f"""
+Generated Key and UUID:
+Key: {key}
+UUID: {generated_uuid}
+ """)
+
+def sierra():
+ global sierra_verification_chances
+ print("=" * 80)
+ print("Sierra Security Verification Version A-1")
+ print("-" * 80)
+
+ try:
+ while True and sierra_verification_chances > 0:
+ print("""Select a mode:
+[1] Verify a UUID
+[2] Exit
+ """)
+
+ choice = input("Enter your choice > ").strip()
+ if choice == "1":
+ verification_result = sierra_verify()
+ if verification_result:
+ break
+ elif choice == "2":
+ print("Exiting.")
+ sys.exit(0)
+ else:
+ print("Error: Invalid choice.")
+ sys.exit(0)
+ except KeyboardInterrupt:
+ print("\nUser Terminated (Ctrl + C.)")
+
+if __name__ == "__main__":
+ sierra()
# ==========================================================================================================
\ No newline at end of file
diff --git a/sierra-security-combination-v-a-2.py b/sierra-security-combination-v-a-2.py
new file mode 100644
index 0000000..1f6dd07
--- /dev/null
+++ b/sierra-security-combination-v-a-2.py
@@ -0,0 +1,106 @@
+import datetime
+import hashlib
+import uuid
+import sys
+import time
+import os
+import ctypes
+
+# _____ _ _____ _ _
+# / ___(_) / ___| (_) |
+# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+# __/ |
+# Combination V. A-2 |___/
+
+# --- ENABLE ANSI COLORS ON WINDOWS ---
+if os.name == 'nt':
+ kernel32 = ctypes.windll.kernel32
+ kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
+
+# --- CONFIGURATION ---
+BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN"
+TIMEFRAME_MINUTES = 15
+
+def get_rolling_salt():
+ """Generates a salt that changes every 24 hours (UTC) to invalidate old keys."""
+ # Using timezone-aware UTC to prevent deprecation warnings
+ date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d")
+ return f"{BASE_SALT}:{date_string}"
+
+def get_time_token():
+ """Returns a time string rounded to the timeframe (Uses UTC for global sync)."""
+ now = datetime.datetime.now(datetime.timezone.utc)
+ minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES
+ rounded = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded.strftime("%Y-%m-%d %H:%M")
+
+def generate_sierra_id(user_key: str):
+ time_token = get_time_token()
+ salt = get_rolling_salt()
+ raw_payload = f"{salt}:{time_token}:{user_key}"
+ hash_result = raw_payload.encode()
+ for _ in range(50000):
+ hash_result = hashlib.sha256(hash_result).digest()
+ return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex()))
+
+def print_header(subtitle="Combination"):
+ os.system('cls' if os.name == 'nt' else 'clear')
+ print("\033[94m" + "="*80)
+ print(r"""
+ _____ _ _____ _ _
+/ ___(_) / ___| (_) |
+\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+ `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+ __/ |
+ |___/
+ """ + f"--- {subtitle} V. A-2 ---".center(70))
+ print("="*80 + "\033[0m")
+
+def verify_access():
+ print_header("Verification")
+ chances = 3
+ while chances > 0:
+ print(f"\n[!] Attempts remaining: \033[93m{chances}\033[0m")
+ user_key = input(" > Enter Secret Key: ").strip()
+ provided_uuid = input(" > Enter Time-Locked UUID: ").strip()
+ print("\n[*] \033[96mVerifying cryptographic integrity...\033[0m")
+ correct_uuid = generate_sierra_id(user_key)
+ time.sleep(1.5)
+ if provided_uuid == correct_uuid:
+ print("\n[+] \033[92mAccess Granted...\033[0m")
+ return True
+ else:
+ chances -= 1
+ print("\n[-] \033[91mInvalid Key/UUID combination.\033[0m")
+ print("\n\033[41mCritical Failure: Access Denied.\033[0m")
+ sys.exit(1)
+
+def tool_menu():
+ while True:
+ print_header("Main Terminal")
+ print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n")
+ print(" \033[1m[1]\033[0m Generate a UUID")
+ print(" \033[1m[2]\033[0m Verify a UUID")
+ print(" \033[1m[3]\033[0m Exit\n")
+ choice = input("Enter your choice > ").strip()
+ if choice == "1":
+ user_key = input("\n > Enter your secret key: ").strip()
+ print(f"\n [+] \033[92mGenerated UUID:\033[0m {generate_sierra_id(user_key)}\n")
+ input("Press Enter to return to menu...")
+ elif choice == "2":
+ if verify_access():
+ print("\n[✓] Entering Secure Shell...")
+ time.sleep(2)
+ elif choice == "3":
+ sys.exit(0)
+
+if __name__ == "__main__":
+ try:
+ tool_menu()
+ except KeyboardInterrupt:
+ print("\n\033[91mProcess Terminated.\033[0m")
diff --git a/sierra-security-generation-v-a-2.py b/sierra-security-generation-v-a-2.py
new file mode 100644
index 0000000..29c627a
--- /dev/null
+++ b/sierra-security-generation-v-a-2.py
@@ -0,0 +1,81 @@
+import datetime
+import hashlib
+import uuid
+import sys
+import time
+import os
+import ctypes
+
+# _____ _ _____ _ _
+# / ___(_) / ___| (_) |
+# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+# __/ |
+# Generation V. A-2 |___/
+
+# --- ENABLE ANSI COLORS ON WINDOWS ---
+if os.name == 'nt':
+ kernel32 = ctypes.windll.kernel32
+ kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
+
+# --- CONFIGURATION (Sync with Verification Script) ---
+BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN"
+TIMEFRAME_MINUTES = 15
+
+def get_rolling_salt():
+ """Generates a salt that changes every 24 hours (UTC)."""
+ date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d")
+ return f"{BASE_SALT}:{date_string}"
+
+def get_time_token():
+ """Returns a time string rounded to the timeframe (UTC)."""
+ now = datetime.datetime.now(datetime.timezone.utc)
+ minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES
+ rounded = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded.strftime("%Y-%m-%d %H:%M")
+
+def generate_sierra_id(user_key: str):
+ time_token = get_time_token()
+ salt = get_rolling_salt()
+ raw_payload = f"{salt}:{time_token}:{user_key}"
+ hash_result = raw_payload.encode()
+ for _ in range(50000):
+ hash_result = hashlib.sha256(hash_result).digest()
+ return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex()))
+
+def print_header(subtitle="Generation"):
+ os.system('cls' if os.name == 'nt' else 'clear')
+ print("\033[92m" + "="*80)
+ print(r"""
+ _____ _ _____ _ _
+/ ___(_) / ___| (_) |
+\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+ `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+ __/ |
+ |___/
+ """ + f"--- {subtitle} V. A-2 ---".center(70))
+ print("="*80 + "\033[0m")
+
+def tool_menu():
+ while True:
+ print_header("Generator")
+ print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n")
+ print(" \033[1m[1]\033[0m Generate a UUID")
+ print(" \033[1m[2]\033[0m Exit\n")
+ choice = input("Enter your choice > ").strip()
+ if choice == "1":
+ user_key = input("\n > Enter your secret key: ").strip()
+ print(f"\n [+] \033[92mGenerated UUID:\033[0m {generate_sierra_id(user_key)}\n")
+ input("Press Enter to return to menu...")
+ elif choice == "2":
+ sys.exit(0)
+
+if __name__ == "__main__":
+ try:
+ tool_menu()
+ except KeyboardInterrupt:
+ print("\n\033[91mProcess Terminated.\033[0m")
diff --git a/sierra-security-verification-v-a-2.py b/sierra-security-verification-v-a-2.py
new file mode 100644
index 0000000..a8f6cdf
--- /dev/null
+++ b/sierra-security-verification-v-a-2.py
@@ -0,0 +1,89 @@
+import datetime
+import hashlib
+import uuid
+import sys
+import time
+import os
+import ctypes
+
+# _____ _ _____ _ _
+# / ___(_) / ___| (_) |
+# \ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+# `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+# /\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+# \____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+# __/ |
+# Verification V. A-2 |___/
+
+# --- ENABLE ANSI COLORS ON WINDOWS ---
+if os.name == 'nt':
+ kernel32 = ctypes.windll.kernel32
+ kernel32.SetConsoleMode(kernel32.GetStdHandle(-11), 7)
+
+# --- CONFIGURATION (Sync with Generation Script) ---
+BASE_SALT = "D9_fX92_kL0_pP_SECRET_INTERCEPTOR_TOKEN"
+TIMEFRAME_MINUTES = 15
+
+def get_rolling_salt():
+ """Generates a salt that changes every 24 hours (UTC)."""
+ date_string = datetime.datetime.now(datetime.timezone.utc).strftime("%Y%m%d")
+ return f"{BASE_SALT}:{date_string}"
+
+def get_time_token():
+ """Returns a time string rounded to the timeframe (UTC)."""
+ now = datetime.datetime.now(datetime.timezone.utc)
+ minutes = (now.minute // TIMEFRAME_MINUTES) * TIMEFRAME_MINUTES
+ rounded = now.replace(minute=minutes, second=0, microsecond=0)
+ return rounded.strftime("%Y-%m-%d %H:%M")
+
+def generate_sierra_id(user_key: str):
+ time_token = get_time_token()
+ salt = get_rolling_salt()
+ raw_payload = f"{salt}:{time_token}:{user_key}"
+ hash_result = raw_payload.encode()
+ for _ in range(50000):
+ hash_result = hashlib.sha256(hash_result).digest()
+ return str(uuid.uuid5(uuid.NAMESPACE_OID, hash_result.hex()))
+
+def print_header(subtitle="Verification"):
+ os.system('cls' if os.name == 'nt' else 'clear')
+ print("\033[91m" + "="*80)
+ print(r"""
+ _____ _ _____ _ _
+/ ___(_) / ___| (_) |
+\ `--. _ ___ _ __ _ __ __ _ \ `--. ___ ___ _ _ _ __ _| |_ _ _
+ `--. \ |/ _ \ '__| '__/ _` | `--. \/ _ \/ __| | | | '__| | __| | | |
+/\__/ / | __/ | | | | (_| | /\__/ / __/ (__| |_| | | | | |_| |_| |
+\____/|_|\___|_| |_| \__,_| \____/ \___|\___|\__,_|_| |_|\__|\__, |
+ __/ |
+ |___/
+ """ + f"--- {subtitle} V. A-2 ---".center(70))
+ print("="*80 + "\033[0m")
+
+def verify_access():
+ print_header("Access Control")
+ print(f" \033[90mGlobal Sync (UTC): {get_time_token()}\033[0m\n")
+ chances = 3
+ while chances > 0:
+ print(f"\n[!] Attempts remaining: \033[93m{chances}\033[0m")
+ user_key = input(" > Enter Secret Key: ").strip()
+ provided_uuid = input(" > Enter Time-Locked UUID: ").strip()
+ print("\n[*] \033[96mVerifying cryptographic integrity...\033[0m")
+ correct_uuid = generate_sierra_id(user_key)
+ time.sleep(1.5)
+ if provided_uuid == correct_uuid:
+ print("\n[+] \033[92mAccess Granted...\033[0m")
+ return True
+ else:
+ chances -= 1
+ print("\n[-] \033[91mInvalid Key/UUID combination.\033[0m")
+ print("\n\033[41mCritical Failure: Access Denied.\033[0m")
+ sys.exit(1)
+
+if __name__ == "__main__":
+ try:
+ if verify_access():
+ print("\n[✓] Handshake Verified. Initializing.")
+ except KeyboardInterrupt:
+ print("\n\033[91mProcess Terminated.\033[0m")
+ sys.exit(1)