$30 off During Our Annual Pro Sale. View Details »

Rustで学ぶTOTP

 Rustで学ぶTOTP

TOTP 自体と、TOTP の Rust による実装をご紹介します。

https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=01cb05aed53acb7b2bf2970ad2c02aa5

Daichi Hioki

August 28, 2019
Tweet

More Decks by Daichi Hioki

Other Decks in Programming

Transcript

  1. Rust で学ぶ TOTP
    hioki-daichi

    View Slide

  2. TOTP って何の略?

    View Slide

  3. Time-Based One-Time Password

    View Slide

  4. 何が Time-Based なの?
    っていうのは式を見るとわかる

    View Slide

  5. Truncate(
    HMAC-SHA-1(
    SharedSecret,
    Unixtime/30
    )
    )

    View Slide

  6. この計算を
    サーバー側とクライアント側で行って
    一致したら OK というのが TOTP

    View Slide

  7. 図にすると

    View Slide

  8. 結城 浩 (2015). 暗号技術入門 第3版 SBクリエイティブ株式会社 ( p. 208)

    View Slide

  9. 結城 浩 (2015). 暗号技術入門 第3版 SBクリエイティブ株式会社 ( p. 213)

    View Slide

  10. View Slide

  11. コードはこちら

    View Slide

  12. https://play.rust-lang.org/?version=stable
    &mode=debug&edition=2018&gist=01cb
    05aed53acb7b2bf2970ad2c02aa5

    View Slide