Skip to content

h6465617468/SilverCipher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SC5 Cryptography Library v1.0

Complex library of folder, file and text encryption and unique encryption algorithm

Note : If you detect weak points of the encryption algorithm, please report it.

Description

  • SCP-1024 algorithm is an impressive hybrid that combines the mechanisms of various cryptographic systems. It has a complex structure that defies any attempt to decrypt or crack it. It is immune to side-channel attacks and its S-BOXes are specially developed. It is extremely slow but utterly secure and requires a large amount of computational resources. It is practically impossible to break it with brute force as it performs thousands of operations.
  • SilverCipher Tool has Folder, File and Text encryption options. While encrypting Folder and File, it takes the data, shreds the original file, then creates a file to write the encrypted data.
  • SCM encryption algorithm implements encryption with high speed and adaptability, but low security level.

SCP-1024 Encryption Example

The difficulty of the algorithm is that 2^128 different combination attempts are required for each loop.

You can send a message to the other party that can only be read within certain time periods. If the encrypted message expires, the message cannot be recovered.(Under Development)

 wh

Text: Let's meet at Duygu Cafe at 17:00. I have things to tell you. , Key: 123

Output:

6l4y98paQ2trRHS+3ycL2WvP1/AFxQYE+XFAMAKxS/r44l2+yCCHDLU2uwp0R8VKvTT8dd4eSOFspLdSvtrapHh2DwuqDV4gdVRPCZjPaT57XQgSX3lf1WsO4Cf9EB1abeUitglnNS6Xz3/2zDnlYXYv79Z3d7GZFgM03R7ENKSLPcmQHB3iu4hKDq4RlieUViJ8CNkpG7zJSSR2Tuy1yfAlrgaiW2ORZnvtAuN/tRJRwhlvs5lFwmsDIp/82b64qhxmue3ULcGfbIMe3BzMv7R9fe6WHoHrCfdTp8zALzPKMYYEuSO6CvgbQ+Pdcbw1ZnMAszktXCSEc0Okm92iCB==

Text: https ://www . youtube. com/watch?v=Os_heh8vPfs , Key: Secret0123

Output:

dnEPg56p4G41HEvpg8KpEDbdG9YdNOplJHHyYKgIfPZ5USOrJzU98PDndQNV7S54wiiMlbQ1DJjwgME+3T2HPncvvaPx2apIoIWiW4c++eh7bI7oh3NqL5MhTwnDoRfHblQMMKj9SwSYugT/MfFy/DU5FZ3JCdKg6XApk9CxgMSyvGi7hB6lsxgBLtFVF+LlyKR1e4TAN/cNWxbE8PGNAhyeuU37NTAiSkn0Q8SCly2VA+d+d7unHsf712nDmJCxYzVP634ZFnAcD6ou6zhMyJO4vL/C3k6U3sL4aJlQv+5VsvLnk1/eNVztDD2Jz8kUr7j9aNHrtHwrbxKoWBV1mi==

Text: I'm afraid someone else will see this message, I have no freedom of expression. , Key: Adan9999

Output:

3ZBomwVFw1yqdEqv8aPXSeTHy4su8g7eBwn1/ahy2Yf3p9BdUTNQk37gTUQ/Xd2prFxuJezK41cZuetesi9++uFivW/ZdKDvFmCpzbyiEhnvqC1RxuC87xUes5jyQLUuRyfqw5/ZY2sO03nzv8CPm6wM8nhUdaR/9qsvxCj3/cGxDxTdvy7zxD1UwrRvqIwvrEaidJNI6OH9xfj5oIVZwXJKjpSuG9WB7AtO1dfbBWfMzearrl0mHqLi5ROYbEck3WW5AmTp7B2/H+gJ86u18Act0Ca17QY7/EfKpkagsPEYvKQ7Rb/AfZeoiGqhhEsEjaFUXEKfv0ZWnJJVEIw2Nc==

Unless you made the key an easy one like '123456'. This algorithm easily protects you from cops, soldiers and scientists. Because super powerful processors are required to solve it, for example: even 50,000 Ryzen 9 7950x may not be able to solve it.

SCP-1024/SCM,RSA Online Encryption Tool

SCP-1024 Beta Version Encryption Tool

SCM Encryption Tool

Methods used in SCP-1024 encryption

 Adds random pseudo bytes image

 Bitwise XOR,AND,OR image

 shiftrows image

 sha256 image

 Whirlpool image

 Swap Pairs image

 Bit Shift image

 Cipher Block Chaining image

Setup

Download SilverCipher

Download Other Unique Encryption Algorithm Library

Usage

Name Folder/File Encryption Text Encryption File Shredder Type Security Support
SilverCipher Tool Yes Yes All Shredders (Powerful) Symetric/Block Very High PHP
SCP-1024 Available Yes - Symetric/Block Extreme JS
SCM Available Yes - Symetric/Block Sufficient JS

Folder Encryption/Decryption

Folder/File Encryption uses Gutmann , DoD 5220.22-M file shredding method Encrypts all subfolders and files. Before encrypting, it takes the data and parts it so that it cannot be recovered. It does not re-encrypt the previously encrypted file. Appends '_enc' to the end of the encrypted file. If it can't find the folder, it automatically adds __ DIR __ and checks the folder again. If the power of the server goes out, you will not lose data.

Example 1 (Advanced)

// php
require_once "SilverCipher.php";
$key="12345678901234561234567890123456"; // required
$iv = "1234567890123456"; // required
$dir = "/path";
// OR
// $dir = __DIR__."/path";
$algo="AES-256-CBC"; // Only uses Vanilla Encryption Algorithms
$ht = new SilverCipher($key,$iv); // key and iv required
// encrypt a folder
$ht->encrypt_data("folder", null, $algo, $dir);
// decrypt the encrypted folder
$ht->decrypt_data("folder", null, $algo, $dir);
// Note: All files in the folder will be encrypted and saved with '_enc' suffix.
// The decrypted files will have the same name as the encrypted files without the '_enc' suffix.

Example 2 (Easy)

require_once "SilverCipher.php";
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
$datax = "/path";
echo $sc->EncryptDirectory($datax);
echo $sc->DecryptDirectory($datax);

Example 3 (Auto)

require_once "SilverCipher.php";
/*
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
*/
$sc = new SilverCipher("12345678901234561234567890123456","1234567890123456","AES-256-CBC");
$datax = "/path";
echo $sc->Encrypt($datax);
echo $sc->Decrypt($datax);

SCM And SCP Encryption Javascript and PHP

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js"></script>
<script src="js/SilverCipherMini.min.js"></script>
<script src="js/sc5.min.js"></script>

Dynamically load a JS file in JavaScript

const loadScript=function(r){return new Promise(function(n,e){const t=document.createElement("script");t.src=r,t.addEventListener("load",function(){n(!0)}),document.head.appendChild(t)})},waterfall=function(n){return n.reduce(function(n,e){return n.then(function(){return"function"==typeof e?e().then(function(n){return!0}):Promise.resolve(e)})},Promise.resolve([]))},loadScriptsInOrder=function(n){n=n.map(function(n){return loadScript(n)});return waterfall(n)};
loadScriptsInOrder(['https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.1.1/crypto-js.min.js', 'js/SilverCipherMini.min.js', 'js/sc5.min.js']).then(function () {
    // All scripts are loaded completely
    // Do something
});

Javascript SCM

const cipher = new SilverCipherMini("123");
const encryptedText = cipher.Encrypt("123");
const decryptedText = cipher.Decrypt(encryptedText);
document.write("Encrypted: "+encryptedText);
document.write("<br>");
document.write("Decrypted: "+decryptedText);

Output:

Encrypted: A0KCtSEs
Decrypted: 123

SCP

const cipher = new SC5("123","0","128"); // key required
// OR
// cipher.setkey("123");
// cipher.setdigest("0");
// cipher.setblocksize("128"); // 0,128,256
const encryptedText = cipher.Encrypt("123");
const decryptedText = cipher.Decrypt(encryptedText);
document.write("Encrypted: "+encryptedText);
document.write("<br>");
document.write("Decrypted: "+decryptedText);

Output:

Encrypted: Rey6cQCqVfXZ4ixkqFh2qN9HqlK/esENNrAStOYvBbAwY6SJ1VbCXJbOdZgQm7ibqPR7+ons1QQd4TikqfiemdIgV8FiItYIejg32MQ+kuKimVTsmI5EsVTxrcRrcvSFdit9SsncwMLZhybx1U9vsj21doRXmLyu2XmHSsgqDqtfBx4rsG8aT5kynJyzzRBdgCLB7Xg38n0BgwpO2tp12Iq5sC8KNonMENCxRcvCyhmPl59Z5ahMogIwdtXjkzYSIAo/aoXjCgwDcvyoYjOBUYNbak/qnJmER/wJ6w0jbQOpFTF9FMDU/95ODLwT8h23/UmDhoUm3WaKckie6t+ZL2==
Decrypted: 123

PHP SCM

require_once "SilverCipherMini.php";
$plain_text="123";
$key="123";
echo "Plain Text:<br>".$plain_text."<br><br>";
$ht = new SilverCipherMini($key);
echo "Encrypted Text:<br>";
echo $encrypted_text=$ht->Encrypt($plain_text);
echo "<br><br>";
echo "Decrypted Text:<br>";
echo $decrypted_text=$ht->Decrypt($encrypted_text);

Output:

Plain Text:
123
Encrypted Text:
A0KCtSEs
Decrypted Text:
123

File Encryption/Decryption

Example 1 (Advanced)

// php
require_once "SilverCipher.php";
$key="12345678901234561234567890123456"; // required
$iv = "1234567890123456"; // required
$encrypt_file_path="file_to_encrypt.txt";
$decrypt_file_path="file_to_encrypt.txt_enc";
$algo="AES-256-CBC"; // Only uses Vanilla Encryption Algorithms
$ht = new SilverCipher($key,$iv); // key and iv required
// encrypt a file
$ht->encrypt_data("file", $encrypt_file_path, $algo);
// decrypt the encrypted file
$ht->decrypt_data("file", $decrypt_file_path, $algo);
// Note: The encrypted file will be saved as 'file_to_encrypt.txt_enc'
// and the decrypted file will be saved as 'file_to_encrypt.txt'

Example 2 (Easy)

require_once "SilverCipher.php";
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
$encrypt_file_path="file_to_encrypt.txt";
$decrypt_file_path="file_to_encrypt.txt_enc";
echo $sc->EncryptFile($encrypt_file_path);
echo $sc->DecryptFile($decrypt_file_path);

Example 3 (Auto)

require_once "SilverCipher.php";
/*
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
*/
$sc = new SilverCipher("12345678901234561234567890123456","1234567890123456","AES-256-CBC");
$encrypt_file_path="file_to_encrypt.txt";
$decrypt_file_path="file_to_encrypt.txt_enc";
echo $sc->Encrypt($encrypt_file_path);
echo $sc->Decrypt($decrypt_file_path);

Text Encryption/Decryption

Example 1 (Advanced)

// php
require_once "SilverCipher.php";
$key="12345678901234561234567890123456"; // required
$iv = "1234567890123456"; // required
$plain_text="my secret data";
$algo="AES-256-CBC"; // Only uses Vanilla Encryption Algorithms
$ht = new SilverCipher($key,$iv); // key and iv required
// encrypt a text
$encrypted_text = $ht->encrypt_data("text", $plain_text, $algo);
// decrypt the encrypted text
$decrypted_text = $ht->decrypt_data("text", $encrypted_text, $algo);
echo $encrypted_text;
echo "<br>";
echo $decrypted_text;

Output:

(RAW DATA)
my secret data

Example 2 (Easy)

require_once "SilverCipher.php";
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
$plain_text="Hello World";
echo $cipher_text=$sc->EncryptText($plain_text);
echo "<br>";
echo $sc->DecryptText($cipher_text);

Example 3 (Auto)

require_once "SilverCipher.php";
/*
$sc = new SilverCipher();
$sc->setKey("12345678901234561234567890123456");
$sc->setIV("1234567890123456");
$sc->setAlgorithm("AES-256-CBC");
*/
$sc = new SilverCipher("12345678901234561234567890123456","1234567890123456","AES-256-CBC");
$plain_text="Hello World";
echo $cipher_text=$sc->Encrypt($plain_text);
echo "<br>";
echo $sc->Decrypt($cipher_text);

SilverCipher5 Encryption

// php
require_once "SilverCipher5.php"; // Only uses SilverCipher Encryption Algorithms
$plain_text = "Hello World"; // Unlimited Text Size
$key = "123"; // Unlimited Key Size
$ht = new SilverCipher5($key); // key required
$encrypted_text=$ht->Encrypt($plain_text);
$decrypted_text=$ht->Decrypt($encrypted_text);
echo $encrypted_text;
echo "<br>";
echo $decrypted_text;

Output:

e7eApDnSg9VETXiEqyFxGWn6g2RO8S==
Hello World

SilverCipher File Shredder

Operations such as file shredding require data to be written directly into memory areas, and therefore low-level programming languages are better suited for these operations. The use of these languages can increase the processing speed of files and minimize memory usage. PHP is unfortunately a high level programming language.

// php
require_once "SilverCipher.php";
SilverCipherEraser::Eraser0($file_path); // Best
SilverCipherEraser::Eraser1($file_path);
SilverCipherEraser::Eraser2($file_path);
SilverCipherEraser::Eraser3($file_path);
SilverCipherEraser::Eraser4($file_path);
SilverCipherEraser::Eraser5($file_path);
SilverCipherEraser::Eraser6($file_path);
SilverCipherEraser::Eraser7($file_path);
SilverCipherEraser::Eraser8($file_path);
SilverCipherEraser::Eraser9($file_path);
SilverCipherEraser::Eraser10($file_path);
SilverCipherEraser::Eraser11($file_path);
SilverCipherEraser::Eraser12($file_path);
SilverCipherEraser::Eraser13($file_path);
SilverCipherEraser::Eraser14($file_path);

SilverCipher Hash

// php
require_once "SilverCipher.php";
$text="hello world";
$lenght=1024;
$ht = new SilverCipher();
echo $ht->hash($text,$lenght);

Output:

b6b2b815b6700dd0cd054f5cc8ce1ffe2a6e472bb62e1452d87844395055365dc4f1087863d4d5e3d778ca3988fa3ce33eec7e3e7f5d829f6fd6a87cdbe31563238470405d2b01d6839deceb9f435f1cf01370f3054ba62d496236955527bbea28b3cfc8c332fad99a759e9256ba5cdcf43855b5988327afb7a6db950a49a4b1f73ea64c1eb023575b9468b1e67c9e4d2128ccf9cb20a8a009880223e5259e16f0c2c58bc4024b2fdedfda10aedb35e497cc01226a0171261aca95ee5cba022ded2a6afda37890b6a703f0b7b8f984dca675bda0246db67e12d12bc9896503da6c80bcaae1193d10d9b467c2bd7043de6985abf0adaf96e70afa8fd970c2decece400740c5d2bbf475a2790c2693b2d650b21da222c2a202c3b848cdc4c89dabe33e1316ac70d4f9f196f168948d1749090b95cc035554a2daca2aa574ab5200b4d73ddcaa76ddd54a355700c4b664b62cb7e519432c507bff8cbf3123f3a508cae5f412234907684e9e32d40446a30f8f4e0b88a33a62554ea3628df09f8861cf1c34ce47ca98dcdb02d0ff85cc7e54365fa70ffe79f2adfb81a46a65f4ab709cfe8ace0219490542ac0f2cd83e1c2e48786fc1e17fa6121f8beaa60e0d3dafe44f8699a1f2001a470f6a854796ebc92d5d1b6ff18dac45ceeeb5250a27c9e18f8bea5f6ea228eb1679843687561edee5c51434fc0e24efac431b021ec9f146

Contributing

SilverCipher is an open-source project that welcomes contributions from anyone. If you want to contribute to SilverCipher, you can fork the project on GitHub and submit a pull request with your changes. You can also report issues and suggest improvements on the GitHub issue tracker.

Developer Note

If you're into encryption, you should take a look at file shredders.(DoD 5220.22-M,Pseudorandom Data,Random Data,Write Zeroes) It will be more secure if you use it together with RSA or Elliptic-curve cryptography algorithm. When using this encryption algorithm in your project, I recommend you to use it by adding or changing different functions.

End Note

This project is a student project. It's very safe, but don't expect flexibility. The producer produced this project when he was just starting high school. There is a big difference with the current knowledge of the producer.