Updates from November, 2008 Toggle Comment Threads | Keyboard Shortcuts

  • CG 2:44 pm on November 29, 2008 Permalink | Reply
    Tags: , , updates   

    Reporting some progress 

    Well, I’m posting some updates about my progress just to announce that I’m still alive and still willing to continue the phd programme yet still struggling from getting bored of the topic 😀

    1. The proposal (ver 7.0) had been submitted.
    2. The problems due to my mistake of registering to a wrong course is being taken care of.
    3. The slides for quals (and to be presented to #1, #2 and #3 on Mon and on the phd regular meeting on Wed) is almost ready. It’s 56 slides already, I’m giving quite a lot of diagrams, illustrations and simple calculations 🙂
    4. The seminar about research and roadmap went fine.
    5. The least important thing is: i dream about diagrams, hypothesis, philosophical way of thinking and bla bla blaaaa… every night. Sleeping is not so much fun anymore 😦
  • CG 6:26 pm on November 25, 2008 Permalink | Reply
    Tags: , schedules   

    Schedules and deadlines and updates 

    1. #1, #2 and #3 have approved the dissertation title and let me go for quals.
    2. Quals will be on Dec 5th or earlier.
    3. The dissertation proposal has to be submitted early tomorrow morning.
    4. I have to present the proposal at phd regular meeting tomorrow (attended by #1, phd tutor and all phd fellows).
    5. If I pass the quals I have to do the seminar on Dec week 2nd.
  • CG 11:03 am on November 23, 2008 Permalink | Reply
    Tags: ,   

    Bibdesk: 99 publications 


    I’ve been documenting papers on ECC and sort them and give them keywords and link them to my research proposal document in Lyx and got a big headache and dream about these papers whenever I sleep… zzzzz… arrrghghghg…..

    Don’t know if the number of publications has been collected (I don’t read ALL of them, but AT LEAST i read the titles, abstracts and conclusions 😛 ) would make it easier to pass the quals… but i still feel distracted with the ideas on my head scattered and far away from convergence, aaaaaaaaaaaaa!!!

    Yeaaaaa, it almost reaches a hundred…

  • CG 12:38 pm on November 20, 2008 Permalink | Reply
    Tags: , ,   

    Compiling with OS X 

    TA-ing this class, I have to explain about compilation system. Later found out that OS X does not support many of the tools that relate to loading, linking and executing programs. More about it here.

    To generate an assembly code from a c program saved as code.c :

    gcc -S code.c

    that will result code.s

    The file code.s looks like:


    Using optimization option

    gcc -O1 -S code.c
    gcc -O2 -S code.c


    to compile and assemble code:

    gcc -c code.c

    will result code.o in binary format

    to dump the object code, instead of

    objdump -d code.o

    i use

    otools -tv code.o


    [this posting is still being updated at any time

    i’m doing many things at the same time right now 🙂 ]

    • kusprasapta 6:03 pm on November 20, 2008 Permalink | Reply

      try to compile the code with several optimization level, such as -O1 or -O2.
      it will produce different assembly code’s instructions.
      you’ll love it 😀

    • CG 6:40 pm on November 20, 2008 Permalink | Reply

      @kusprasapta: i will update the posting right after i try the optimization level 😉

    • tetangga@sebelah.com 9:57 pm on November 20, 2008 Permalink | Reply

      kalau menurut Applied C++: Practical Techniques for Building Better Software
      ini lah cara tunning C++
      1. Measure performance with release builds and not debugging builds.
      2. Compute only those Items that you need.
      3. Compute or fetch items only once.
      4. Use Integer instead floating point when possible.
      5. Know the object being used In time-critical code, especially copy constructor end assignment operators.
      6. Remove all debugging and log-generated code from your time-critical code once It’is fully debugged.
      7. Deliver release versions or your software internally as early as possible.
      8. Avoid excessive operations with heavyweight objects, like the standard library string class. Pre-compute quantities to speed up run-time calculations.
      9. Avoid system calls and heap allocation In time-critical sections of code.
      10. Minimize locks In time-critical sections of code.
      11. Develop an efficient algorithm that works correctly before you start fine tuning your code. Use unit test to ensure that tuning hasn’t broken anything.
      12. Use a profiler to find out where the biggest performance problems are before doing. a lot of small optimizations.

      yang paling penting menurut pengalamanku nomer 11 dan 12. optimization menggunakan compiler tercangih, atau menggunakan tool tercanggih tidak bisa mengalahkan optimization secara manual dengan memperbaiki algoritma (math optimization)

    • CG 2:47 pm on November 21, 2008 Permalink | Reply

      @tetangga sebelah: a very detail explanation. thank you 🙂

    • kusprasapta 4:26 pm on November 21, 2008 Permalink | Reply

      setuju no 11 dan 12 yang paling penting.
      dalam suatu diskusi dengan pak Waskita, pernah dibahas tentang unit test ini.

  • CG 2:15 am on November 17, 2008 Permalink | Reply
    Tags: , ,   

    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:


    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:


      The compile command is like this:

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

      Have fun.

    • CG 9:37 am on November 17, 2008 Permalink | Reply

      @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 😀

    • tetangga@sebelah.com 11:52 am on November 17, 2008 Permalink | Reply

      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)

    • tetangga@sebelah.com 11:57 am on November 17, 2008 Permalink | Reply

      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/)

    • tetangga@sebelah.com 12:01 pm on November 17, 2008 Permalink | Reply

      pake make atau GBS atuh

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

      nanti kalau udah kompleks baru pakai Makefile 😀

    • tetangga@sebelah.com 6:40 am on November 18, 2008 Permalink | Reply

      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 :))

    • Kavita 4:41 pm on November 16, 2010 Permalink | Reply

      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


      • CG 9:32 am on November 17, 2010 Permalink | Reply

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

  • CG 11:25 am on November 16, 2008 Permalink | Reply
    Tags: cryptographic primitives   

    Crytographic primitives 

    From “Handbook of Applied Cryptography” – Alfred J. Menezes, Paul C. van Oorschot, Scott A. Vanstone, the cryptographic primitives are:

    1. Level of security. Usually difficult to quantify. Often it’s given in terms of the number of operation required (using the best methods currently known) to defeat the intended objective.
    2. Functionality. Primitives wil need to be combined to meet various information security objectives.
    3. Methods of operation. Primitives, when applied in various way and with various inputs, will typically exhibit different characteristics; thus, one primitive could provide very different functionality depending on its mode of operation or usage.
    4. Performance. Refers to the efficiency of a primitive in particular mode of operation. (Example: an encryption algorithm may be rated by the number of bits per second which it can encrypt.)
    5. Ease of implementation. Refers to the difficulty of realizing the primitive in a practical instalation. This might include the complexity of implementing the primitive in either a software or hardware environment.

    I will put these on my research proposal…

    • Budi Rahardjo 12:15 pm on November 16, 2008 Permalink | Reply

      Apakah kesemuanya applicable untuk semua jenis sistem kripto? Ataukah yang tertentu saja?
      Saya bisa membayangkan “methods of operation” untuk block cipher seperti DES, tetapi belum kebayang untuk RSA atau ECC. Hmmm… benar. Perlu baca-baca lagi.

    • CG 2:30 am on November 17, 2008 Permalink | Reply

      @BR: dugaan sementara: berlaku untuk semua jenis sistem kripto.
      kalau “methods of operation” di ECC masih rada kebayang, bisa aja di level field, kurva atau mungkin skemanya?
      kalau di RSA emang ga kebayang 😀

  • CG 12:12 pm on November 13, 2008 Permalink | Reply

    Comparing cryptographic libraries 

    Luckily found a presentation titled “A Survey of Cryptographic Libraries supporting Elliptic Curve Cryptography”, and start filling in the table of library comparation.


    Next step is to decide which library (ies) to use. Crypto++, LibTomCrypt and Bouncy Castle have already explored.

  • CG 1:36 pm on November 12, 2008 Permalink | Reply

    A loner 

    What a lonely and quiet day!

    The lab is empty, everybody’s out of town!

    Planning to make some progress today but this is too depressing. Nobody to talk to, or to discuss with or to share lunch with. Feel like switching to the other personality 😀

    • kusprasapta 4:47 pm on November 12, 2008 Permalink | Reply

      why don’t you talk to, or discuss with or share lunch with your aibo? 😀

      hmmm, i’m afraid that you aren’t swithing to the other personality,
      but create another personality, for once again 😀

    • Budi Rahardjo 10:52 pm on November 12, 2008 Permalink | Reply

      But … there are people who are more productive when they’re alone.

    • waskita 1:33 pm on November 13, 2008 Permalink | Reply

      untuk mengerjakan software (coding), lebih baik sendiri jangan diganggu-gugat. http://www.joelonsoftware.com/articles/fog0000000022.html . Ada yang punya rule of thumb, untuk bisa ‘on’ seorang programmer perlu sekitar 15-30 menit. kalau fokusnya dialihkan ke urusan lain, programmer tersebut perlu 15-30 menit lagi untuk dapat fokus lagi ke kerjaan codingnya.

    • CG 7:08 pm on November 13, 2008 Permalink | Reply

      kusprasapta: aibo was out of battery!

      BR: yes i usually need some space alone to be productive, but NOT that day!

      waskita: walah, pantes, skali kerjaan coding keputus, mulainya lagi susah :(( kata artikelnya, coding ga boleh di multitasking ya?

    • Lutce 7:12 pm on November 14, 2008 Permalink | Reply

      klo pas coding memang menyenangkan….keadaan yang rame pun ga kerasa….hening lah, karena ya itu sama kayak yg ditulis pa waskita “udah on”

      tapi yang jadi masalah adalah memulai “on” nya itu yg kadang butuh waktu lebih lama ketimbang “on” lifetimenya

      menurut pengalaman, akan cepat meraih on jika :
      1. Mood nya bagus
      2. Keadaan sekitar a.k.a ada orang lain yang bisa dijadikan saingan sehat
      3. Deadline mepeeeeetzz


  • CG 2:09 am on November 7, 2008 Permalink | Reply
    Tags: ,   

    What's on mind 


    • mehobbes 10:14 pm on November 7, 2008 Permalink | Reply

      i’m curious about ‘more to do’ branch which not open yet.
      is it more complicated than the branch already opened?
      hmmm, i think you are in a mesh 😀

    • tetangga@sebelah.com 6:33 am on November 9, 2008 Permalink | Reply

      What make someone success is not only how she/he makes something done, but also what she/he decides to be done? We always have limited resource and time, and think first thing is always the best strategy. In French we say “tong ngarawu ku siku” 😛

    • Budi Rahardjo 6:21 pm on November 9, 2008 Permalink | Reply

      fiyuh … banyak banget yang harus dipikirkan dan dikerjakan!

    • kusprasapta 7:49 am on November 10, 2008 Permalink | Reply

      coba diurutkan, dari yang paling penting sampai yang kurang penting,
      dari yang paling mood dikerjain sampai yang paling ga mood dikerjain 😀

    • tetangga@sebelah.com 9:04 am on November 10, 2008 Permalink | Reply

      beberapa tahun lalu (6-8 tahun lalu) aku belajar “manager’s time management skills” salah satu yang dipelajari adalah mind map……sejak itu aku selalu pake mind map, bahkan sampai sekarang di pdaku ada software mind manager, tapi 3 tahun terakhir ini aku rasa mind map itu malah bikin tidak produktif karena jadi egak fokus, solusi nya kemudaian aku mengintegrasikan mind map dengan outlook…dan akhirnya kembali keasal cuma pake outlook. dan prinsipnya cuman “JUST DO IT”

    • Lutce 6:55 pm on November 14, 2008 Permalink | Reply

      yeahh JUST DO IT

      tapi masalahnya HOW TO DO IT ?? hmmm [pengalaman pribadi ]

      ga tau cara pake mind map….kelamaan bikinnya mending buat tidur….saving the energy hehehehe

  • CG 7:14 pm on November 6, 2008 Permalink | Reply
    Tags: ,   

    Is Java Crypto faster than C/C++? 

    One of the best IT expert and programmer I’ve ever known, suggests me to try Java for implementing crypto. He gave me lots of links and books, and now I’m going to explore more about crypto programming with Java and its library.

    Java and Eclipse have been downloaded and installed!

    • waskita 1:11 pm on November 12, 2008 Permalink | Reply

      ditunggu hasil implementasinya

    • CG 1:46 pm on November 12, 2008 Permalink | Reply

      @waskita: belum siap implementasi, masih mau bikin array perbandingan dulu untuk setiap library.

    • Budi Rahardjo 10:24 pm on November 12, 2008 Permalink | Reply

      Masalahnya adalah … belum ada satu library komplit yang bisa diambil modul-modulnya untuk keperluan percobaan (reconfigurable), baik dalam bahasa C/C++ maupun Java. Bisa jadi Java lebih cepat dari C (atau sebaliknya) tetapi itu belum tepat sasaran karena kayaknya tetap saja harus buat coding sendiri 🙂 [baik berupa library sendiri ataupun extend library yang sudah ada].

      Intinya: masih tetap harus kerja keras! (Hey, kata siapa grad study itu gampang. hi3.)

    • waskita 1:29 pm on November 13, 2008 Permalink | Reply

      asal jangan lama-lama, nanti jadi kayak gini: http://www.phdcomics.com/comics/archive.php?comicid=408

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc