## Out of the box and works

Done doing one round of creating a new project and upload it to the fpga board, phew!
I followed all the instructions in the manual book, including assigning real pins to the circuit

installing usb-blaster driver on windows xp that running on top of virtual box running on top of mac os 😀

and also switching pins of the device to check the truth table and see the light goes up. Fun 😀

• #### CG 1:15 pm on November 26, 2010 Permalink | Reply Tags: bada ( 4 ), ide, programming ( 5 ), work

The phd student is also working as a freelance programmer. Now she has to learn mobile programming on Bada OS.

• #### Budi Rahardjo 5:15 pm on November 26, 2010 Permalink | Reply

Hello, Bing 🙂

• #### CG 8:56 pm on November 26, 2010 Permalink | Reply

ha ha ha ha good idea maybe i should make a “Bada” button that will shout “Bing!” if pressed, hi hi hihhh

## The new toy is now out of the box

• #### papanasya 1:56 pm on November 26, 2010 Permalink | Reply

nah, ini mainan yg ingin kumainkan mbak dl tapi tak pernah ada yg mengizinkan mengopreknya… mesti punya stock banyak ktny kalo kamu yg ngopreknya … 😀

• #### CG 8:56 pm on November 26, 2010 Permalink | Reply

oh kalau gitu jangan berani2x ngoprek yang punya saya ya! 😀

• #### Fernando Urbano 11:36 pm on November 29, 2010 Permalink | Reply

I have the same board. It’s very nice. Also the book of Hamblen. How are your implementations of the multipliers? Greetings.

• #### CG 8:38 am on November 30, 2010 Permalink | Reply

hello fernando. i have just started reading the manuals and typed some simple vhdl codes to be loaded to the board 🙂 how is your implementation going?

• #### Fernando Urbano 10:01 am on November 30, 2010 Permalink

I finished the multiplier for GF(2^163). It´s implementation has good area and speed. Next step is design the GF(2^163) multiplier. I have the mathematic algorithm. Right now I’m working on the VHDL implementation and design.

• #### Fernando Urbano 10:02 am on November 30, 2010 Permalink

Sorry I want to told GF(2^233) implementation.

• #### CG 10:07 am on November 30, 2010 Permalink

wow great job. once you write a paper on that, i’d like to read 🙂
btw are you doing this for thesis/dissertation?

• #### CG 10:10 am on November 30, 2010 Permalink

one more thing: is the architecture/algorithm different for GF(2^163) and GF(2^233) implementation?

• #### Fernando Urbano 12:43 pm on December 6, 2010 Permalink | Reply

Yes, I’m doing this for master’s thesis and also I’m using the same architecture and I hope finishing soon the 233 bits multiplier. If you know or if you implemented an algorith for 233 bits in normal basis, I’ll be very grateful if you tell me which maybe I can implemment it too. Greetings and good job.

• #### CG 2:04 pm on December 6, 2010 Permalink | Reply

wow. a great job for master’s thesis, good luck 🙂 yes i’ll share mostly my work in this blog and also will tell you if i happen implementing 233bits in normal basis. and i would like to read your papers and thesis too if possible since what we’re doing is very similar 🙂 thank you 🙂

## Bada Programming – A Start

The phd student is also working as a freelance programmer.

## Maple vs Scilab

Apparently the phd student has to install math tools to verify calculations. Matlab is not free,so SciLab is a good alternative.

## LUT and Tristate buffer

``` library ieee; use ieee.std_logic_1164.all;```

```entity lutmulCGver2 is port ( clk : in std_logic; e : in std_logic; r : in std_logic; a, b: in std_logic_vector(3 downto 0); c: out std_logic_vector(3 downto 0); i, j, k : out std_logic_vector(3 downto 0); enA, enB, enC : in std_logic ); end entity lutmulCGver2;```

``` architecture behavioral of lutmulCGver2 is -- signal i : integer range 0 to 6:=0; -- signal j : integer range 0 to 6:=0; signal tribus : std_logic_vector ( 3 downto 0 ); signal enable : std_logic:='0'; type alog is array (0 to 2**3 - 2) of std_logic_vector(3 downto 0); constant my_alog : alog := ( 0 => "0001", 1 => "0010", 2 => "0100", 3 => "0011", 4 => "0110", 5 => "1111", 6 => "0101"); type log is array (1 to 2**3 - 1) of std_logic_vector(3 downto 0); -- type log is array (1 to 2**3 - 1) of integer; constant my_log : log := ( 1 => "0000", 2 => "0001", 3 => "0011", 4 => "0010", 5 => "0110", 6 => "0100", 7 => "0101"); begin process(enA, enB, a, b) begin if enA = '1' then tribus <= a; elsif enB = '1' then tribus <= b; else tribus <= "ZZZZ"; end if; end process; ```

```process(enC) begin if enC = '1' then c <= "0000"; end case; end if; -- k <= (i xor j) xor "1011"; -- xor untuk mereduksi, tapi hanya berlaku untuk kalau generatornya x atau x+1 end process; end architecture behavioral; ```

• #### Budi Rahardjo 4:59 pm on November 17, 2010 Permalink | Reply

good stuff (sambil belum dibaca tea :))

• #### CG 5:08 pm on November 17, 2010 Permalink | Reply

halah, padahal mau nanya, udah bener belum waveformsnya?

• #### CG 10:43 am on November 8, 2010 Permalink | Reply Tags: binary finite field ( 2 ), ECC ( 14 )

1. Implementation Aspects of Elliptic Curve Cryptography & An Introduction to Unified (Dual-Field) Arithmetic, Erkay Savas, Oregon State University (pdf)
2. Elliptic Curve Cryptosystems on Reconfigurable Hardware, Martin Christopher Rosner, Master Thesis, Worcester Polytechnic Institute, May 2008 (pdf)
3. Fast Algorithms for Elliptic Curve Cryptosystems over Binary Finite Field, [Published in K. Y. Lam and E. Okamoto, Eds., Advances in Cryptology – ASIACRYPT ’99, vol. 1716 of Lecture Notes in Computer Science, pp. 75–85, Springer-Verlag, 1999.], Yongfei Han, Peng-Chor Leong, Peng-Chong Tan, and Jiang Zhang (pdf)

## How secure is ECC with composite field binary?

An interesting discussion about ECC with composite field security with Dr. Michael Rosing here.

## More tristate buffer

``` library IEEE; use IEEE.STD_LOGIC_1164.all;```

```entity tristate is generic( width : integer := 7 ); port ( enA, enB, enC : in std_logic; A, B: in std_logic_vector( width downto 0); C : out std_logic_vector( width downto 0) ); end tristate;```

``` architecture rtl of tristate is signal tribus : std_logic_vector ( width downto 0 ); begin process(enA, enB, A, B) begin if enA = '1' then tribus <= A; elsif enB = '1' then tribus <= B; else tribus <= "ZZZZZZZZ"; end if; end process; ```

```process(enC) begin if enC = '1' then C <= tribus; end if; end process; end rtl; ```

## Key Lengths – Arjen K. Lenstra

Key Lengths – Contribution to The Handbook of Information Security, Arjen K. Lenstra Lucent Technologies and TechnischeUniversiteit Eindhoven 1 North Gate Road, Mendham, NJ 07945-3104, U.S.A., June 30, 2004

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