読者です 読者をやめる 読者になる 読者になる

これぞ次世代の暗号?!絵文字だけですべてが表現できる「Emoji64」とは?

誰でも親しみやすく、そしてかわいらしい暗号…そんな暗号が今まであったでしょうか。それがEmoji64です。
Emoji64はUnicode 6.0で追加されたemojiを利用して秘密の暗号を作ることができます。必要なのは暗号のタネだけ。それさえ覚えていれば二人だけの秘密の暗号を作り出すことも可能です。
Emoji64はAcme::Collector64というモジュールで実現することができます。インストールしてみましょう。

% cpanm Acme::Collector64

まずはじめに暗号のタネを定義します。これは65文字である必要があります。長いですね。それにしても動物がたくさんでかわいらしいですね。あれ、不思議ですね。なんだか長く感じなくなってきました。

use strict;
use warnings;
use utf8;
use Acme::Collector64;
use Encode;

my $index_table = '????????????????????????????????????????????????????????????????✔';

my $emoji64 = Acme::Collector64->new(
    index_table => $index_table,
);

(もしかしたら、$index_tableの中身が見えていない方がいらっしゃるかもしれません。*1Mac OS X 10.7以降のSafariでこのブログを見ることをおすすめします。)
それでは早速、「こんにちは」という文字列を暗号化してみましょう。

print encode_utf8($emoji64->encode(encode_utf8('こんにちは'))), "\n";

実行してみると、次のように表示されます。wow!

????????????????????

もちろん、逆変換もできます。「????????????」といった絵文字列を渡されたなら…

print $emoji64->decode('????????????'), "\n";

実行してみましょう。

ばーか

こんなこともありますよ。


どうしても他人には見られたくないメール、機密文書にいかがですか?Emoji64ならハッカーもかわいらしい動物に見とれてしまうことでしょう。

*1:バカには見えない暗号だからです。