FT Otp
FT Otp
ft_otp
Version: 1.00
Contents
I Introduction 2
II Prologue 3
IV Bonus Part 6
1
Chapter I
Introduction
Passwords are one of the biggest headaches in computer security Users forget
them, share them, reuse them and choose them horribly bad. Furthermore, passwords
are sooner or later leaked in security breaches. One way to avoid this is to use one-time
passwords, based on timestamps, which expire after a few minutes and then become in-
valid. Whether you already use this system, or if you have never heard of it, it is quite
likely that one of your passwords has been compromised at some point in your life.
2
Chapter II
Prologue
The Silk Road stretched across the entire Asian continent, connecting China with Mongo-
lia, Persia, India, the Middle East, Turkey, Europe, and Africa. Despite the name, it was
not the valuable cloth that was primarily traded. Glass, leather, weapons or war machines
traveled the world, expanding industrial discoveries, printing techniques, gunpowder or
the compass.
Password, please?
3
Chapter III
Mandatory Part
In the language of your choice, you have to implement a program that allows you to store
an initial password in file, and that is capable of generating a new one time password
every time it is requested.
You can use any library that facilitates the implementation of the algorithm, as long
as it doesn’t do the dirty work, i.e. using a TOTP library is strictly prohibited. Of
course, you can and should use a library or function that allows you to access system
time.
• The generated one-time password must be random and must always contain the
same format, i.e. 6 digits.
4
Cybersecurity Piscine ft_otp
You can check if your program is working properly by comparing generated passwords
with Oathtool or any tool of your choice.
Please note that the reference software you choose will be used
during your evaluation.
5
Chapter IV
Bonus Part
6
Chapter V
Turn in your assignment in your Git repository as usual. Only the work inside your
repository will be evaluated during the defense. Don’t hesitate to double check the
names of your folders and files to ensure they are correct.