I went down to Tennessee to attend my cousin’s high school
graduation commencement and spend my Memorial Day vacation with the family.
When I came back to the lab on Wednesday, I started out by trying to dig deeper
into the paper on boot-time entropy in embedded devices. I tried to decipher
the confusing diagrams used in the Results and Analysis section, ranging from
histograms to per-test distributions to graphs of entropy over correlation
threshold. While I still do not fully understand some of the statistical
analysis that was done, I believe I have a better understanding of the underlying
conclusion. Even with the techniques proposed to gather boot-time entropy,
embedded devices are still at a disadvantage because they lack randomness from
radios that wireless devices can utilize and previously saved entropy that desktops
can use. These headless devices need to gather strong entropy immediately
following the boot, before a network connection even occurs.
Next, I watched Dr. Avi Wigderson’s talk on Randomness and
Pseudorandomness, which had been sent to me by Amir. The talk introduced several
interesting real-life applications of the importance of randomness such as the
P vs. NP problem, which aims to find a deterministic problem that is
exponentially hard to solve – something which is trivial for non-deterministic
problems. Perhaps the most intriguing part of Dr. Wigderson’s lecture, however,
was his observation that randomness is relative to the computing power of the
observer. He uses the example of a coin toss. An observer equipped with only
his or her own eyesight will probably not be able to correctly determine the
outcome of the toss with greater than 50% success rate. On the other hand, if
the observer is equipped with several high-speed cameras, state-of-the-art
sensors, and sophisticated momentum-measuring software, he or she will be able
to predict the outcome with 100% success.
Finally, I have been facing many obstacles in writing a
script to automatically download random bytes from randomserver.dyndns.org. I
am used to programming on Linux, so it has taken me some time to get used to my
programming environment on Windows 8. I installed Python 3.3 and twill, a
Python extension that automates HTML form filling and submission. I was not
able to successfully install twill, and I spent a considerable time trying to
figure out what was going wrong. Eventually, I found out that the open-source
code for twill was written for Python 2.5 in which ‘print’ is not a function
and therefore does not wrap the argument in parentheses. I briefly attempted to
write a script that would fix the print statements in all the Python scripts
that were part of the twill code. I quickly realized, however, that not all the
print statements outputted to the terminal, which would make fixing the scripts
much more difficult. Also, there might be other differences between versions
2.5 and 3.3 that might make the installation fail anyway. My next step will be to
install Python 2.5 so I can successfully install twill and get the random byte
download script to work.
No comments:
Post a Comment