Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 706517
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T04:10:31+00:00 2026-05-14T04:10:31+00:00

I have a security number generator device, small enough to go on a key-ring,

  • 0

I have a security number generator device, small enough to go on a key-ring, which has a six digit LCD display and a button. After I have entered my account name and password on an online form, I press the button on the security device and enter the security code number which is displayed.

I get a different number every time I press the button and the number generator has a serial number on the back which I had to input during the account set-up procedure.

I would like to incorporate similar functionality in my website. As far as I understand, these are the main components:

  1. Generate a unique N digit aplha-numeric sequence during registration and assign to user (permanently)
  2. Allow user to generate an N (or M?) digit aplha-numeric sequence remotely
    For now, I dont care about the hardware side, I am only interested in knowing how I may choose a suitable algorithm that will allow the user to generate an N (or M?) long aplha-numeric sequence – presumably, using his unique ID as a seed
  3. Identify the user from the number generated in step 2 (which decryption method is the most robust to do this?)

I have the following questions:

  • Have I identified all the steps required in such an authentication system?, if not please point out what I have missed and why it is important
  • What are the most robust encryption/decryption algorithms I can use for steps 1 through 3 (preferably using 64bits)?
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T04:10:32+00:00Added an answer on May 14, 2026 at 4:10 am

    Your server has a table of client IDs and keys. Each client also knows its own key.

    The server also maintains a counter for each client, initialised to zero. Each client maintains a counter, also initialised to zero.

    When the button is pressed on the client, it generates a HMAC of the current counter value, using its key as the HMAC key. It generates an alphanumeric code from the HMAC output and displays that to the user (to send to the server). The client increments its counter value.

    When an authentication request is recieved by the server, it repeats the same operations as the client, using the stored key and counter for that client. It compares the alphanumeric code it generated with the one recieved from the client – if they match, the client is authenticated. If they do not match, the server increments its counter for that client and repeats the process, for a small number of repetitions (say, ~10). This allows the server to “catch up” if the client counter has been incremented without contacting the server.

    If the counter rolls over to zero, the server should not accept any more authentication requests for that client ID, until it is issued a new key.

    There are extensions to this basic protocol: For example, instead of a counter, you can use synchronised clocks on the server and client (with the value changing every N seconds instead of every button press).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a pseudorandom number generator (PRNG) with nice properties which uses six UInt32
I have a custom security principal object which I set in the global.asax for
I have a specific case here in which I would like some security advice.
I have a third party encryption library, which may create a MessageBox if key
I am working on a server application which will have quite a fair number
I have a string which contains 3 elements: a 3 digit code (example: SIN,
I have: Correct numerical ID such as Phone number / Social-security number / etc.
Do Pagemethods and Json have security risks?(I dont use cookies).Forexample i have a pagemethod
Is it possible to have transport security without authentication? I'm well aware of it's
As many of you probably know, online banks nowadays have a security system whereby

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.