This opportunity is based in Lausanne

Visually comparing two hashes (Internship/Master Thesis)


TrustID is a full stack, multi-factor authentication (MFA) solution and Identity Provider developed by ELCA. As an authentication solution used by several Swiss clients, TrustID attaches great importance to its high level of security and its agile development model. To keep improving its security, the team is committed to use new technologies that drive the industry every day.

When a workflow is going from one device to another, it’s important and challenging to make sure that nobody is trying to hijack the flow. A solution is to generate a random string on one side (e.g. a hash), to display it on both devices, and to ask the user to compare them.

Unfortunately, humans are not very good at comparing 64-caracters hexadecimal strings: That’s why, a solution would be to generate a random image that represents that string and ask the user to compare them.

In this role

  1. Review the state of the art of visual hash. Look if there is any available libraries / options.
  2. “Human-eyes-limitation-related” collisions are unavoidable and should be analyzed.
  3. Provide a visual hash solution (custom implementation or library based) with an excellent level of security while being user friendly.
  4. Understand the TrustID architecture and how authentication sessions are implemented.
  5. Integrate your visual hash mechanism into our authentication process so that it displays on both the computer (Java) and the mobile application (Swift/Java).



What we offer

Join our team as intern and you will find a young, dynamic and culturally diverse working environment.

About your profile

   An interest in the information security field

   Knowledge in Java required

   Knowledge in Swift is a plus

If you are INTERESTED in applying for this position, please send us your complete application (CV, cover letter, letter of reference, diplomas and certificates).

By continuing to browse this site, you accept the use of cookies or similar technologies whose purpose is to produce statistics on visits to our site (tests and measurement of visitor numbers, visit frequency, page views and performance) and to offer you content and promotions which will be of interest to you.

Our cookie policy has been updated. Feel free to manage your preferences.


Manage your cookie preferences

Update your cookie preferences

Find out about the type of cookies stored on your device, accept or block them for the entire site, all services or on a service-by-service basis.

OK, accept all

Visitor flow

These cookies provide us with insight into traffic sources and allow us to better understand our visitors anonymously.

(Google Analytics and CrazyEgg)


Sharing tool

Social media cookies allow content sharing on your preferred networks.



Visitor understanding

These cookies are used to track visitors across websites.

The intention is to enable us to offer more relevant, targeted content to existing contacts (ClickDimensions) and display ads that are relevant and engaging for users (Facebook Pixels).


For more information about these cookies and our cookie policy, click here