つけじょにーのすぱげていコード

主に、競技プログラミング、セキュリティのお勉強の際に書いたすぱげていコードを書き込みます

暗号

XORの性質

XOR (排他的論理和)は面白い性質を持っているんです。 具体的になんだというと、例えば平文123があるとします。 int plain = 123; これに対し、12という鍵を使って暗号化(XOR)します int key = 12; int cipher = plain ^ key; そして、再度同じ鍵を使って複…

エニグマ

エニグマはドイツで開発された暗号化及び複合化を行う機械のことをいう 機械含め、暗号化及び複合化に用いられるものは以下のとおり・国防軍鍵表(日替わり鍵) ・エニグマ(電源、キー、プラグボード、ローター1、ローター2、ローター3、反射器、ランプ)…

単一換字暗号

シーザー暗号とちょっと似てますが、文字の対応付けをして、それに基づいて暗号化を行うというものです。暗号化を行うプログラムを書いてみました。(難しいのは書けないっす(T_T)) //単一換字暗号 #include <bits/stdc++.h> using namespace std; char table[] = {'K', </bits/stdc++.h>…

RSA@C++

試しにRSA暗号化及び複合化を行うプログラムを作成してみました(すっごいチープ。平文は整数値じゃなきゃだめ)。 試しに平文123にしてみて、暗号化、複合化をしてみたのですが、思ったように複合できませんでした う〜ん、p, qを選ぶところがまずいのかな…