Crypto vs Code

Cryptography is the study of mathematical techniques related to aspects of information security such as confidentiality, data integrity, entity authentication, and data origin authentication. [Handbook of Applied Cryptography – Alfred J. Menezes Paul C. van Oorschot Scott A. Vanstone]

Coding is needed for efficient reliable digital transmission and storage. [Error Control Coding – Shu Lin, Daniel J. Costello]. Coding theory is is the study of the properties of codes and their fitness for a specific application. Codes are used for data compression, cryptography, error-correction and more recently also for network coding. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction (or detection) of errors in the transmitted data. [Wikipedia]

Nggak pakai Alice & Bob?

Cryptography is…

ha ha ha ha…. funny descriptions about cryptography by another frustated graduate student on cryptography 😀

ahaha 😀 wew

Which class to use?

This is the class structure of Crypto++ Library

And then when I’m going to implement PK_Encryptor, which one to use???

Which base class to use, when to implement, what scheme to choose? Still not clear which are the abstract classes. This library is superb but makes my head going to explode 😀

• Budi Rahardjo 10:57 pm on December 29, 2008 Permalink | Reply

Unfortunately, I can’t tell just by looking at the pictures. Gotta dig deeper into the library, which I don’t have. ha ha ha.

I suspect you have choices (of classes to use). Which one to choose? Well, I guess you have to understand all of them (at least at superficial level – why there are more than one ways to do it) or pick one and hope that it is the best for case at hand. 😀 ha ha ha.

@BR: actually I already have examples of “optimal” implementation and i was digging out to find out how to implement it differently and trying to figure out the structure of the classes and surprised that the library provides tons of classes i don’t understand!

Compiling Crypto++

Has successfully compiled Crypto++ (pfffh, finally 😉 ). I made a very simple code (above), and standard g++ command for compiling did not work, until the library being installed to the library directory.

Here’s how to install the crypto package:

1. `mkdir crypto`
2. `mv cryptopp552.zip ./crypto`
3. `cd crypto`
4. `unzip cryptopp552.zip`
5. `make`
6. `sudo cp libcryptopp.a /usr/lib/`
7. `sudo mkdir /usr/include/cryptopp`
8. `sudo cp *.h /usr/include/cryptopp/`

Then compile it:

`g++ -lcryptopp cryptopptest.cpp`

And run it:

`./a.out`

I decide to do some experiments using Crypto++ for the following reasons:

1. It supports ECDSA, ECDH, ECIES
2. It supports both binary and prime curves
3. The library comes with domain parameters defined by NIST and SECG
4. Great support for manipulating data
5. Precomputation is supported
6. Crypto++ is trying to receive NIST’s certification of ECDSA

• Budi Rahardjo 7:51 am on November 17, 2008 Permalink | Reply

Actually you don’t have to put all the libraries in the standard directory. You could use the “-L” switch for the library location and “-I” switch for the header location. For example, if your library and include files (header) are in “/home/cg/cryptolib”, that is the structure is something like this:

/home/cg/cryptolib/include/*.h
/home/cg/cryptolib/libcryptopp.a

The compile command is like this:

g++ -I/home/cg/cryptolib/include -L/home/cg/cryptolib cryptopptest.cpp -lcryptopp

Have fun.

@BR: what i did was totally different!

g++ -L/Users/chika/Documents/CG/Library/Crypto++/ -lcryptoopp552 cryptopptest.cpp

i didn’t know that i have to include the include dir 😀

walah…..pasti masih main digger ama pacman, jadi inget waktu zaman turbo c ….
kapam mau mda
walaupun bisa ngetik cepat sampai 120WPM tapi sebaiknya tenaga dan waktu di hemat, coba
pekakas seperti make
atau GBS

tapi seperti biasa “A journey of a thousand miles begins with a single step”…..good job (gaya pak cris)

alah si ibu pasti masih main digger ama pacman, liat postingannya jadi inget zaman pake Borland Turbo C,
kapan mau Model Driven Architecture nya 😛
biar egak pegel ngetik coba pake make (http://www.gnu.org/software/make/) atau GBS (http://sources.redhat.com/autobook/)

pake make atau GBS atuh

• Budi Rahardjo 1:07 pm on November 17, 2008 Permalink | Reply

nanti kalau udah kompleks baru pakai Makefile 😀

kalau bikin softwarenya compile driven 🙂 selalu komplek.
mengetik “make” 100 kali per jam pasti lebih nyaman dibanding mengetik “g++ -I/home/cg/cryptolib/include -L/home/cg/cryptolib cryptopptest.cpp -lcryptopp” perjam :))

When I try to install cryptopp on gcc compiler it is saying the following error
g++: cryptopptext.cpp : no such file or directory

pls help me in this regard

Kavita

have you followed the instructions above? check if it’s installed in the wrong directory.

c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r