Skip to content
View wiktor-k's full-sized avatar
🇺🇦
Support Ukraine!
🇺🇦
Support Ukraine!

Sponsors

@vanitasvitae

Sponsoring

@iNPUTmice
@messense
@vanitasvitae
@TheLastProject

Organizations

@k9mail @MetacodeBiz

Block or report wiktor-k

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
wiktor-k/README.md

Hi! 👋 I’m Wiktor.

You may recognize me from my work in the OpenPGP ecosystem, as specified by RFC 4880 and subsequent specifications. I’ve contributed to ProtonMail’s OpenPGP.js as well as to the Android OpenKeychain.

In my spare time I’ve designed a keybase-like system of social proofs based on OpenPGP which was later extended by the Keyoxide project.

Since 2020 I’ve worked on Sequoia PGP — a complete implementation of OpenPGP in Rust — and its satellite-projects. My most significant contribution there was adding new cryptographic backend based on OpenSSL. This required tight collaboration with the rust-openssl crate maintainers, where I extended the crate with new features. During that time I’ve also assisted communities in improving their OpenPGP code, such as migrating SecureDrop’s PGP backend from GnuPG to Sequoia, creating Sequoia PGP wrapper code for PHP and Python.

I co-authored the book 📚 “OpenPGP for application developers” and gave a presentation during the NGI webinar on future of OpenPGP. I’ve received multiple grants from the 🇪🇺 Next Generation Internet program thanks to substantial help from the NLnet Foundation. The latest one involves a close collaboration with Arch Linux’s David Runge 🙇‍♂️. If you're interested in details see my interview with NGI.

Outside the OpenPGP ecosystem, I was fortunate enough to be invited by arm engineers to help maintain their 🦀 cryptography crates: PKCS #11 and TPM ESAPI. I’m also developing several other crates.

Rust and cryptography are not the only things I’m involved in. I ❤️ open-source and try to contribute wherever I can. Check my activity tab but note that I’m not exclusively working on code hosted here. You can find more projects I participate in on Codeberg, Gitlab and GitHub.

I began working as a professional software engineer in 2007 and have since designed and implemented systems for the flight certification of ✈️ civilian aircraft, management software for 🔬 cancer research programs and dozens of other smaller yet engaging projects. In my opinion, the domain of the customer is one of the most interesting aspects of this work.

I hold a 🎓 MSc in Computer Science from University of Technology in Szczecin.

Pinned Loading

  1. testresult testresult Public

    Provides TestResult type for concise and precise test failures

    Rust 62 2

  2. ssh-agent-lib ssh-agent-lib Public

    A collection of types for writing custom SSH agents.

    Rust 19 7

  3. pysequoia pysequoia Public

    OpenPGP in Python using Sequoia PGP

    Rust 9 2

  4. MetacodeBiz/calcscript-interpreter MetacodeBiz/calcscript-interpreter Public

    Stack-based language optimized for minimum number of keystrokes

    Java 1 1

  5. ssh-sig ssh-sig Public

    Signature parser and verifier for SSH file signatures in pure TypeScript using native WebCrypto

    TypeScript 2

  6. age-plugin-openpgp-card age-plugin-openpgp-card Public

    Age plugin for using ed25519 on OpenPGP Card devices (Yubikeys, Nitrokeys)

    Rust 19