From abe87e865bab682fe2bc9d65b2199c5a65f6a60e Mon Sep 17 00:00:00 2001 From: Laan Tungir Date: Sat, 4 Oct 2025 07:21:02 -0400 Subject: [PATCH] Version v0.3.16 - "Adding entropy sources" --- .gitignore | 1 + otp-arm64 | Bin 107048 -> 0 bytes otp-x86_64 | Bin 122128 -> 0 bytes otp.c | 77 +++++++++++++++++++++++++++++++++++++++++++++++++---- otp.h | 1 + 5 files changed, 74 insertions(+), 5 deletions(-) delete mode 100755 otp-arm64 delete mode 100755 otp-x86_64 diff --git a/.gitignore b/.gitignore index a12cb66..afa9d21 100644 --- a/.gitignore +++ b/.gitignore @@ -5,5 +5,6 @@ Gemini.md TropicOfCancer-HenryMiller.txt .gitea_token true_rng/ +swiftrng/ # Auto-generated files (none currently) diff --git a/otp-arm64 b/otp-arm64 deleted file mode 100755 index 4bc2ec2da502c17ae5ef76e10d4d86728685c127..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107048 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

;;r7ve{pV*S=_i|O?K(m_<(y94<_14T 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 Uw(T~J;l!UQq}^9%^9sxVKQrp#)&Kwi diff --git a/otp.c b/otp.c index abcb181..eba8fa7 100644 --- a/otp.c +++ b/otp.c @@ -405,7 +405,7 @@ int interactive_mode(void) { void show_main_menu(void) { printf("\n"); - print_centered_header("Main Menu - OTP v0.3.14", 0); + print_centered_header("Main Menu - OTP v0.3.15", 0); printf("\n"); printf(" \033[4mT\033[0mext encrypt\n"); //TEXT ENCRYPT @@ -927,7 +927,10 @@ int generate_pad(uint64_t size_bytes, int display_progress) { fclose(pad_file); // Calculate XOR checksum of the pad file - if (calculate_checksum(temp_filename, chksum_hex) != 0) { + if (display_progress) { + printf("Calculating pad checksum...\n"); + } + if (calculate_checksum_with_progress(temp_filename, chksum_hex, display_progress, size_bytes) != 0) { printf("Error: Cannot calculate pad checksum\n"); unlink(temp_filename); return 1; @@ -3797,7 +3800,7 @@ int generate_ascii_armor(const char* chksum, uint64_t offset, const unsigned cha strcpy(*ascii_output, "-----BEGIN OTP MESSAGE-----\n"); char temp_line[256]; - snprintf(temp_line, sizeof(temp_line), "Version: v0.3.14\n"); + snprintf(temp_line, sizeof(temp_line), "Version: v0.3.15\n"); strcat(*ascii_output, temp_line); snprintf(temp_line, sizeof(temp_line), "Pad-ChkSum: %s\n", chksum); @@ -4579,7 +4582,7 @@ int calculate_checksum(const char* filename, char* checksum_hex) { // Process this chunk with XOR checksum for (size_t i = 0; i < bytes_read; i++) { unsigned char bucket = (total_bytes + i) % 32; - checksum[bucket] ^= buffer[i] ^ (((total_bytes + i) >> 8) & 0xFF) ^ + checksum[bucket] ^= buffer[i] ^ (((total_bytes + i) >> 8) & 0xFF) ^ (((total_bytes + i) >> 16) & 0xFF) ^ (((total_bytes + i) >> 24) & 0xFF); } total_bytes += bytes_read; @@ -4611,6 +4614,70 @@ int calculate_checksum(const char* filename, char* checksum_hex) { return 0; } +// Calculate checksum with progress display for large files +int calculate_checksum_with_progress(const char* filename, char* checksum_hex, int display_progress, uint64_t file_size) { + FILE* file = fopen(filename, "rb"); + if (!file) { + return 1; + } + + unsigned char checksum[32]; + unsigned char buffer[64 * 1024]; // 64KB buffer for large files + size_t bytes_read; + + // Initialize checksum + memset(checksum, 0, 32); + size_t total_bytes = 0; + time_t start_time = time(NULL); + + // Calculate XOR checksum of entire file with progress + while ((bytes_read = fread(buffer, 1, sizeof(buffer), file)) > 0) { + // Process this chunk with XOR checksum + for (size_t i = 0; i < bytes_read; i++) { + unsigned char bucket = (total_bytes + i) % 32; + checksum[bucket] ^= buffer[i] ^ (((total_bytes + i) >> 8) & 0xFF) ^ + (((total_bytes + i) >> 16) & 0xFF) ^ (((total_bytes + i) >> 24) & 0xFF); + } + total_bytes += bytes_read; + + // Show progress for large files (every 64MB or if display_progress is enabled) + if (display_progress && file_size > 10 * 1024 * 1024 && total_bytes % (64 * 1024 * 1024) == 0) { + show_progress(total_bytes, file_size, start_time); + } + } + + // Final progress update + if (display_progress && file_size > 10 * 1024 * 1024) { + show_progress(file_size, file_size, start_time); + printf("\n"); + } + + fclose(file); + + // Now encrypt the checksum with the first 32 bytes of the pad + fseek(file = fopen(filename, "rb"), 0, SEEK_SET); + unsigned char pad_key[32]; + if (fread(pad_key, 1, 32, file) != 32) { + fclose(file); + return 1; + } + fclose(file); + + // XOR encrypt the checksum with pad data to create unique identifier + unsigned char encrypted_checksum[32]; + for (int i = 0; i < 32; i++) { + encrypted_checksum[i] = checksum[i] ^ pad_key[i]; + } + + // Convert to hex string (64 characters) + for (int i = 0; i < 32; i++) { + sprintf(checksum_hex + (i * 2), "%02x", encrypted_checksum[i]); + } + checksum_hex[64] = '\0'; + + return 0; +} + // Unified pad selection function - extracts the best UI from handle_pads_menu() char* select_pad_interactive(const char* title, const char* prompt, pad_filter_type_t filter_type, int allow_cancel) { // Get list of pads from current directory @@ -5539,7 +5606,7 @@ int handle_delete_pad(const char* pad_chksum) { void print_usage(const char* program_name) { - printf("OTP Cipher - One Time Pad Implementation v0.3.14\n"); + printf("OTP Cipher - One Time Pad Implementation v0.3.15\n"); printf("Built for testing entropy system\n"); printf("Usage:\n"); printf(" %s - Interactive mode\n", program_name); diff --git a/otp.h b/otp.h index a1def2a..86e0f50 100644 --- a/otp.h +++ b/otp.h @@ -223,6 +223,7 @@ void show_progress(uint64_t current, uint64_t total, time_t start_time); int read_state_offset(const char* pad_chksum, uint64_t* offset); int write_state_offset(const char* pad_chksum, uint64_t offset); int calculate_checksum(const char* filename, char* checksum_hex); +int calculate_checksum_with_progress(const char* filename, char* checksum_hex, int display_progress, uint64_t file_size); //////////////////////////////////////////////////////////////////////////////// // UNIVERSAL CORE FUNCTIONS FOR CODE CONSOLIDATION