JarrettR / FPGA-Cryptoparty

A very very fast VHDL implementation of the WPA2 encryption algorithm.
GNU General Public License v3.0
23 stars 6 forks source link

Initial setup procedure #1

Open xgeric opened 8 years ago

xgeric commented 8 years ago

Hi JarrettR, I'm Xiaotao from Tsinghua University, China. I'm working on a project where I plan to collaborate cocotb with GHDL. I saw your post on https://github.com/potentialventures/cocotb/issues/304. It seems that you have found the way to make it work. Would you please give me some information about that? Thank you so much!

JarrettR commented 8 years ago

Hi,

This repository should mostly work fine. There are two changes to make, however:

  1. The master is in-progress and might be broken. This commit should be good, though.
  2. I am using the changes in PR476 in cocotb that haven't been merged into the main line yet.

So this should work:

git clone https://github.com/JarrettR/FPGA-Cryptoparty.git
cd FPGA-Cryptoparty
git reset --hard 894e1d2278973e06ce07ee471d8464dd7f00d580
sh install.sh
sh update-submodules.sh
cd tools/
rm -rf cocotb
git clone https://github.com/JarrettR/cocotb.git
cd ../FPGA/tests/
make

I haven't tested the above, but you can look at the Makefile, test-sha1.py and hdl/ folder to see how it fits together.

It will also get easier when cocotb merges that PR ;)

xgeric commented 8 years ago

Thanks a lot! It works well!

roycewilliams commented 7 years ago

@JarrettR, can you confirm that x86 is required? I tried the howto in #1 from a Raspberry Pi, and got:

$ pwd /usr/local/src/FPGA-Cryptoparty/tools/ghdl

$ ./configure --prefix=/usr/local && make && make install && cd ../.. Build machine is: arm-linux-gnueabihf WARNING: GHDL for mcode is supported only on x86 continuing, but build failure expected (See the README) Creating ghdl.gpr Creating Makefile Generate ortho_code-x86-flags.ads Generate elf_arch.ads Generate default_pathes.ads gcc -c -g -DWITH_GNAT_RUN_TIME -o jumps.o src/grt/config/jumps.c gcc -c -g -DWITH_GNAT_RUN_TIME -o times.o src/grt/config/times.c gcc -c -g -DWITH_GNAT_RUN_TIME -o grt-cbinding.o src/grt/grt-cbinding.c gcc -c -g -DWITH_GNAT_RUN_TIME -o grt-cvpi.o src/grt/grt-cvpi.c gcc -c -g -DWITH_GNAT_RUN_TIME -o fstapi.o -I./src/grt/fst src/grt/fst/fstapi.c gcc -c -g -DWITH_GNAT_RUN_TIME -o lz4.o src/grt/fst/lz4.c gcc -c -g -DWITH_GNAT_RUN_TIME -o fastlz.o src/grt/fst/fastlz.c echo "with Grt.Backtraces.Jit;" > grt-backtraces-impl.ads echo "package Grt.Backtraces.Impl renames Grt.Backtraces.Jit;" >> grt-backtraces-impl.ads gcc -c -g -o memsegs_c.o src/ortho/mcode/memsegs_c.c gcc -c -g -DWITH_GNAT_RUN_TIME -o chkstk.o src/grt/config/chkstk.S chkstk.S: Assembler messages: chkstk.S:37: Error: unrecognized symbol type "" chkstk.S:41: Error: bad instruction testl %eax,%eax' chkstk.S:42: Error: bad instructionje 0f' chkstk.S:43: Error: bad instruction subl $4,%eax' chkstk.S:44: Error: bad instructionsubl %eax,%esp' chkstk.S:45: Error: bad instruction jmp *(%esp,%eax)' chkstk.S:47: Error: bad instructionret' src/grt/Makefile.inc:154: recipe for target 'chkstk.o' failed make: *** [chkstk.o] Error 1

JarrettR commented 7 years ago

Hey @roycewilliams,

GHDL is failing, and reading the requirements: https://github.com/tgingold/ghdl available on Linux (x86 and x86-64), Windows and Mac OS x Looks like an ARM processor is not supported.

Cocotb works on other HDL compilers, but I have not done the research, and don't know how that works.

roycewilliams commented 7 years ago

Copy that - makes sense, should have hunted that down myself!

FWIW, to install other prerequisites (Ubuntu):

sudo apt-get install zlib1g-dev sdcc

Also, on some platforms, users will have to run as root to upload bitstreams.

lukelater commented 4 years ago

i can't install it ? git clone https://github.com/JarrettR/FPGA-Cryptoparty.git cd FPGA-Cryptoparty git reset --hard 894e1d2278973e06ce07ee471d8464dd7f00d580 install.sh = install.sh: 4: install.sh: ./configure: not found rm -rf cocotb git clone https://github.com/JarrettR/cocotb.git = remote: Repository not found. fatal: repository 'https://github.com/JarrettR/cocotb.git/' not found cd ../FPGA/tests/ make thx

JarrettR commented 4 years ago

cocotb merged my PR in, so just clone the main repo now.

git clone https://github.com/cocotb/cocotb

solardiz commented 4 years ago

I think @lukelater (from his private e-mail to me) wants to actually use this on ZTEX 1.15y. As I understand, this project was never completed to work on real hardware, so this won't work for him. Correct?

JarrettR commented 4 years ago

Real hardware, yes. I think USB communication needed to work to be practical, instead of just a proof of concept. I was developing with a JTAG dongle.

solardiz commented 4 years ago

Thanks. You could now reuse the ZTEX communication framework from John the Ripper, where we support ~7 hash types (depending on how to count) on those boards. However, your project looks incomplete to me in other ways as well, which is understandable - things like having multiple instances per chip would be premature without reliable communication.

Are you possibly still interested in completing the project? If so, consider doing it the other way around - contributing to John the Ripper. ;-)

JarrettR commented 4 years ago

That definitely would have been intriguing to me when I did this project 4 years ago :)

Happy to accept PRs, especially, yes, to include multiple instances! It is unlikely I'll return to this project in 2020, at least.

sergiy213 commented 4 years ago

Good day Community will reward talent IT tech expert like you.

Best wishes.nice and safe staying in peace.

четверг, 14 мая 2020 г. пользователь Jarrett notifications@github.com написал:

That definitely would have been intriguing to me when I did this project 4 years ago :)

Happy to accept PRs, especially, yes, to include multiple instances! It is unlikely I'll return to this project in 2020, at least.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/JarrettR/FPGA-Cryptoparty/issues/1#issuecomment-628933994, or unsubscribe https://github.com/notifications/unsubscribe-auth/AIBWFOOSRPDKH22PSX6QC7LRRR3KBANCNFSM4CO2DCAQ .