Ecosyste.ms: Packages

An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

Top 9.0% on proxy.golang.org

proxy.golang.org : github.com/lauslim12/vigenere

Package vigenere provides a secure symmetric encryption implementation with Vigenère-Vernam Cipher algorithm. The Vigenère Cipher in this library also acts as a One-Time Pad (OTP) for additional security. Vigenère Cipher is done by defining a character set or alphabets to be used. Then, we use a truly random number (in this library, pseudorandom number generator is used). Sum it with the numerical equivalent of our plaintext. Numerical equivalent in this library refers to the index in a slice in which the alphabet is stored. After that, the sum of the plaintext and the random number is modulo'ed by the length of our alphabets. The plaintext and secret itself must conform to the alphabets defined beforehand, or the encryption process will ignore the alphabet (may cause errors). In this library, there is a function named `ValidateString` which will validate whether the plaintext inserted into the function is correct or not. There should also not be any duplicates in the character set. The default character set / alphabets is A to Z (uppercase only, with index of the slice starting from zero to 25). This library attempts its best to conform to SRP (Single Responsibility Principle). Basically, this library expects you to understand the process (what to do) when performing encryption or decryption, but in most cases, all you need to do is (example for encryption): To check the implementation as a console application, see example at `example/main.go`.

Registry - Source - Documentation - JSON
purl: pkg:golang/github.com/lauslim12/vigenere
Keywords: algorithms, encryption, encryption-decryption, go, library, one-time-pad, security, vigenere, vigenere-cipher
License: MIT
Latest release: about 2 years ago
First release: about 2 years ago
Namespace: github.com/lauslim12
Stars: 0 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 20 days ago

    Loading...
    Readme
    Loading...