c言語 シーザー暗号による画像の暗号化プログラム編1
c言語 シーザー暗号による画像の暗号化プログラム編1
私は、高校一年生のときにパソコンを手に入れてからプログラミングを趣味でやっていて、途中であまりやらなくなったのですが、最近は久しぶりにプログラミングに熱が入ってきたのでプログラミング系のブログを立ち上げました。
c言語でプログラミングを始めてから数か月後に「実用的なプログラムを組んでみたいな~」なんて思いまして、あり合わせの知識で画像を暗号化するプログラムを作りました。ネットでc言語系のサイトを見ているときに、シーザー暗号で文字を暗号化するプログラムのソースコードとその解説を見かけたので、画像も暗号化できないかなと思い、画像の暗号化プログラム制作に挑戦しました。
過去に作った中途半端なプログラムを数回に分けて解説していきます。
シーザー暗号とは何か
・暗号化
シーザー暗号(シフト暗号)とは、文字を数字の分だけシフトする暗号方法で、「あいうえお」を1で暗号化すると、「いうえおあ」になり、「abcdefg」を1で暗号化すると「bcdefgh」になります。
正式には、シーザー暗号は文字を辞書順に三文字だけシフトして暗号文にする方法です。
詳しくはこちら→シーザー暗号 - Wikipedia
・復号化
シーザー暗号は、数字の分だけ文字を辞書順にずらすという事で、「1」を利用して暗号化した暗号文は1を暗号文から引けば元の文に戻ります。
シーザー暗号の復号化するときは、暗号化した時の数の分だけ引けばよいという事です。