Skip to content
Avatar
🧑‍🚀
the future is now
🧑‍🚀
the future is now

Organizations

@hashmatter
Block or Report

Block or report gpestana

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.

Add an optional note:
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
gpestana/README.md

reach out at 🐦 @gpestana / 🌐 gpestana.com


Current research projects on privacy, web security and P2P networks and applied cryptography. Reach out if you'd like to learn more, collaborate or discuss!.

IPFS-SBC: IPFS as a practical Secure Broadcast Channel

https://www.gpestana.com/papers/sbc-ipfs-draft.pdf

We design, implement and study a decentralized secure broadcast encryption channel (SBC) on the InterPlanetary File System (IPFS) protocol stack. The SBC leverages a cryptographic broadcast encryption scheme that allows a set of participants (the sources) to encrypt messages with capabilities that only a subset of receivers can decrypt. The encrypted mes-sage is then published on a public channel where all the receivers attempt to recover the plaintext of the encrypted message. The decryption is successful only for the subset of receivers selected by the source. Furthermore, the SBC guarantees that every reader has the same view of the messages published in the broadcast channel and that the published messages are not tampered.This technical report shows that the IPFS protocol stack can be used to implement a practical and decentralized SBC. We demonstrate that the properties provided by the IPFS protocol stack such as data integrity, availability, censorship resistance,decentralization and available pub-sub semantics can be lever-aged to implement a practical and secure broadcast encryption channel that can be used by a wide array of applications.Moreover, we implement SBC-IPFS, a decentralized and secure broadcast encryption channel and study its bandwidth overhead and performance in the context of real-world applications.

p3lib: Privacy enhanced routing and content discovery on IPFS

https://github.com/gpestana/p3lib

Currently, Brave integrates a native IPFS node that allows users to fetch and seed content on the IPFS network through the network. The IPFS node also allows users to interact with content stored in IPFS as if it was HTTP content. For example, when visiting ipfs://<CID> the browser will fetch the blocks of the respective CID (content ID) and treat it as a native webpage. However, during the IPFS onboarding in the browser, we highlight that Brave cannot offer the privacy guarantees that are provided by design in all other browser components. The main reason is that the IPFS protocol is inherently leaky with regards to the content that peers seed and search for and, by default, peers have a long-lived identity. Thus, by actively or passively monitoring network requests on IPFS, it is possible to learn insights about IPFS users that allow attackers to learn users’ interests and behavior over time. This line of research aims at motivating, designing and developing privacy enhancing protocols for IPFS that can be implemented in the context of the browser. In addition, we aim to concretely define and formalize a framework around how to reason about privacy of DHT-based P2P networks and respective threat models, and use IPFS as a widely deployed and used network as a benchmark.

NR2P - Non-repudiable and publicly verifiable TLS session data

https://hackmd.io/35kzObpuQH6n4MQ_QtrQ3g

The TLS protocol relies on symmetric cryptography to encrypt data in the wire between the client and the origin. Symmetric cryptography is used for performance reasons. However, since the session data is encrypted with a secret key agreed between the origin and the client, it is not trivial to build a scheme where the client proves the authenticity of TLS data with an origin to a third-party. Some schemes (e.g. DECO protocol) have attempted to circumvent this limitation by changing the TLS handshake between the origin and the client by introducing the verifier as part of the handshake and relying on multiparty computation between the the three participants. The goal of the three-party TLS handshake is to allow the client and the verifier to commit to the secret key of the TLS handshake without having to change any TLS server-side code. Once the TLS session key is committed, the verifier can verify any proof of authenticity over the TLS data that the user provides. This scheme allows also the user to generate zero knowledge proofs over encrypted TLS session that is impossible to forge by the user. However, the three party computation scheme introduces massive performance penalties and complecity. In this work, we take another path towards verifiable and unforgeable TLS data. We design and implement NR2P (Non-Repudiable Record Protocol), which replaces the symmetric key encryption with an asymmetric key encryption scheme in TLS 1.3. We show how to implement the server and client-side code so that it is backwards compatible with vanilla TLS 1.3. In addition, we show how the user can generate arbitrary zero-knowledge proofs based on encrypted TLS data from an origin that can be publicly verifiable.

Trusted computing on untrusted platforms

We define a protocol that allows a server (verifier) to request clients (provers) to run obfuscated instructions without revealing the instruction logic. The protocol enables running trusted computation on untrusted platforms with strong security and privacy guarantees for both the verifier and the prover. The protocol has the following strong guarantees: i) the client must be able to prove the validity and correctness of the output of the obfuscated computation to the verifier, given a set of private (to the verifier) and public inputs; and ii) the client can learn the amount of information (i.e. number of bits) that the output "leaks" to the verifier. We assume the client to be curious and potentially an active attacker: i.e., the client has incentives to de-obfuscate the logic running locally and to attempt to tamper the results of the computation. We implement two instantiations of the scheme: one that leverages binary obfuscation and cryptographic signatures and another that relies on zero knowledge frameworks to achieve similar results.

Humanity tokens: Verifiable and privacy-preserving humanity attestation based on blockchain activity

This research work focus on designing and implementing publicly verifiable proofs based on blockchain data that can be used to protect Sybil attacks and as a humanity attestation (similar to web CAPTCHAs). Humanity tokens are proofs generated based on semi-public blockchain activity that can be verifiable non-interactively publicly. User are able to generate claims such as "I know the private key that has made X transactions in the past N blocks on blockchain X" and "I know the private key that has performed action X, Y, Z on blockchain X". Since on-chain activity is expensive and not easy to replicate at current the scale necessary for current botnets, humanity tokens/proofs can be used as humanity attestation and Sybil prevention by web services.

Cryptographic black-box accumulators as privacy-preserving humanity proofs for the web

We design and implement a cryptographic blackbox accumulator scheme that allow users to accumulate signatures from multiple third parties. The state of the accumulator can be used to generate zero knowledge proofs of reputation.

Pinned

  1. privacy preserving primitives and protocols (p3) for routing and messaging in P2P networks

    Go 88 10

  2. rdoc Public

    Conflict-free replicated JSON implementation in native Go

    Go 89 7

  3. Testing framework for Kapacitor TICKscripts

    Go 74 18

  4. notes Public

    notes, ideas and whatnot

    TeX 40 6

  5. p2psec Public

    research on privacy and security in p2p and decentralised systems

    TeX 45 2

  6. 🦀 Rust implementation of sinkhole private information retrieval

    HTML 14 2

557 contributions in the last year

No contributions on Sunday, June 5, 2022 11 contributions on Monday, June 6, 2022 No contributions on Tuesday, June 7, 2022 7 contributions on Wednesday, June 8, 2022 7 contributions on Thursday, June 9, 2022 No contributions on Friday, June 10, 2022 No contributions on Saturday, June 11, 2022 No contributions on Sunday, June 12, 2022 No contributions on Monday, June 13, 2022 1 contribution on Tuesday, June 14, 2022 1 contribution on Wednesday, June 15, 2022 1 contribution on Thursday, June 16, 2022 2 contributions on Friday, June 17, 2022 No contributions on Saturday, June 18, 2022 No contributions on Sunday, June 19, 2022 1 contribution on Monday, June 20, 2022 1 contribution on Tuesday, June 21, 2022 4 contributions on Wednesday, June 22, 2022 4 contributions on Thursday, June 23, 2022 4 contributions on Friday, June 24, 2022 No contributions on Saturday, June 25, 2022 No contributions on Sunday, June 26, 2022 No contributions on Monday, June 27, 2022 4 contributions on Tuesday, June 28, 2022 1 contribution on Wednesday, June 29, 2022 No contributions on Thursday, June 30, 2022 3 contributions on Friday, July 1, 2022 3 contributions on Saturday, July 2, 2022 No contributions on Sunday, July 3, 2022 3 contributions on Monday, July 4, 2022 4 contributions on Tuesday, July 5, 2022 No contributions on Wednesday, July 6, 2022 3 contributions on Thursday, July 7, 2022 2 contributions on Friday, July 8, 2022 No contributions on Saturday, July 9, 2022 No contributions on Sunday, July 10, 2022 3 contributions on Monday, July 11, 2022 5 contributions on Tuesday, July 12, 2022 No contributions on Wednesday, July 13, 2022 No contributions on Thursday, July 14, 2022 7 contributions on Friday, July 15, 2022 No contributions on Saturday, July 16, 2022 No contributions on Sunday, July 17, 2022 No contributions on Monday, July 18, 2022 7 contributions on Tuesday, July 19, 2022 5 contributions on Wednesday, July 20, 2022 4 contributions on Thursday, July 21, 2022 2 contributions on Friday, July 22, 2022 3 contributions on Saturday, July 23, 2022 3 contributions on Sunday, July 24, 2022 1 contribution on Monday, July 25, 2022 6 contributions on Tuesday, July 26, 2022 No contributions on Wednesday, July 27, 2022 7 contributions on Thursday, July 28, 2022 4 contributions on Friday, July 29, 2022 1 contribution on Saturday, July 30, 2022 No contributions on Sunday, July 31, 2022 7 contributions on Monday, August 1, 2022 2 contributions on Tuesday, August 2, 2022 1 contribution on Wednesday, August 3, 2022 7 contributions on Thursday, August 4, 2022 No contributions on Friday, August 5, 2022 No contributions on Saturday, August 6, 2022 No contributions on Sunday, August 7, 2022 No contributions on Monday, August 8, 2022 No contributions on Tuesday, August 9, 2022 11 contributions on Wednesday, August 10, 2022 5 contributions on Thursday, August 11, 2022 No contributions on Friday, August 12, 2022 No contributions on Saturday, August 13, 2022 No contributions on Sunday, August 14, 2022 4 contributions on Monday, August 15, 2022 4 contributions on Tuesday, August 16, 2022 3 contributions on Wednesday, August 17, 2022 3 contributions on Thursday, August 18, 2022 8 contributions on Friday, August 19, 2022 No contributions on Saturday, August 20, 2022 No contributions on Sunday, August 21, 2022 2 contributions on Monday, August 22, 2022 3 contributions on Tuesday, August 23, 2022 No contributions on Wednesday, August 24, 2022 5 contributions on Thursday, August 25, 2022 4 contributions on Friday, August 26, 2022 No contributions on Saturday, August 27, 2022 No contributions on Sunday, August 28, 2022 9 contributions on Monday, August 29, 2022 1 contribution on Tuesday, August 30, 2022 7 contributions on Wednesday, August 31, 2022 4 contributions on Thursday, September 1, 2022 No contributions on Friday, September 2, 2022 5 contributions on Saturday, September 3, 2022 No contributions on Sunday, September 4, 2022 No contributions on Monday, September 5, 2022 No contributions on Tuesday, September 6, 2022 2 contributions on Wednesday, September 7, 2022 8 contributions on Thursday, September 8, 2022 No contributions on Friday, September 9, 2022 No contributions on Saturday, September 10, 2022 No contributions on Sunday, September 11, 2022 No contributions on Monday, September 12, 2022 2 contributions on Tuesday, September 13, 2022 No contributions on Wednesday, September 14, 2022 No contributions on Thursday, September 15, 2022 No contributions on Friday, September 16, 2022 No contributions on Saturday, September 17, 2022 No contributions on Sunday, September 18, 2022 5 contributions on Monday, September 19, 2022 3 contributions on Tuesday, September 20, 2022 No contributions on Wednesday, September 21, 2022 1 contribution on Thursday, September 22, 2022 No contributions on Friday, September 23, 2022 No contributions on Saturday, September 24, 2022 No contributions on Sunday, September 25, 2022 7 contributions on Monday, September 26, 2022 1 contribution on Tuesday, September 27, 2022 2 contributions on Wednesday, September 28, 2022 No contributions on Thursday, September 29, 2022 4 contributions on Friday, September 30, 2022 No contributions on Saturday, October 1, 2022 No contributions on Sunday, October 2, 2022 4 contributions on Monday, October 3, 2022 6 contributions on Tuesday, October 4, 2022 3 contributions on Wednesday, October 5, 2022 2 contributions on Thursday, October 6, 2022 2 contributions on Friday, October 7, 2022 4 contributions on Saturday, October 8, 2022 4 contributions on Sunday, October 9, 2022 2 contributions on Monday, October 10, 2022 No contributions on Tuesday, October 11, 2022 No contributions on Wednesday, October 12, 2022 No contributions on Thursday, October 13, 2022 No contributions on Friday, October 14, 2022 No contributions on Saturday, October 15, 2022 No contributions on Sunday, October 16, 2022 1 contribution on Monday, October 17, 2022 No contributions on Tuesday, October 18, 2022 No contributions on Wednesday, October 19, 2022 2 contributions on Thursday, October 20, 2022 No contributions on Friday, October 21, 2022 No contributions on Saturday, October 22, 2022 No contributions on Sunday, October 23, 2022 No contributions on Monday, October 24, 2022 2 contributions on Tuesday, October 25, 2022 No contributions on Wednesday, October 26, 2022 No contributions on Thursday, October 27, 2022 No contributions on Friday, October 28, 2022 No contributions on Saturday, October 29, 2022 1 contribution on Sunday, October 30, 2022 4 contributions on Monday, October 31, 2022 No contributions on Tuesday, November 1, 2022 1 contribution on Wednesday, November 2, 2022 No contributions on Thursday, November 3, 2022 No contributions on Friday, November 4, 2022 No contributions on Saturday, November 5, 2022 2 contributions on Sunday, November 6, 2022 No contributions on Monday, November 7, 2022 2 contributions on Tuesday, November 8, 2022 1 contribution on Wednesday, November 9, 2022 1 contribution on Thursday, November 10, 2022 No contributions on Friday, November 11, 2022 No contributions on Saturday, November 12, 2022 1 contribution on Sunday, November 13, 2022 No contributions on Monday, November 14, 2022 No contributions on Tuesday, November 15, 2022 No contributions on Wednesday, November 16, 2022 No contributions on Thursday, November 17, 2022 No contributions on Friday, November 18, 2022 No contributions on Saturday, November 19, 2022 No contributions on Sunday, November 20, 2022 No contributions on Monday, November 21, 2022 No contributions on Tuesday, November 22, 2022 No contributions on Wednesday, November 23, 2022 No contributions on Thursday, November 24, 2022 1 contribution on Friday, November 25, 2022 1 contribution on Saturday, November 26, 2022 No contributions on Sunday, November 27, 2022 No contributions on Monday, November 28, 2022 1 contribution on Tuesday, November 29, 2022 No contributions on Wednesday, November 30, 2022 No contributions on Thursday, December 1, 2022 3 contributions on Friday, December 2, 2022 No contributions on Saturday, December 3, 2022 No contributions on Sunday, December 4, 2022 No contributions on Monday, December 5, 2022 No contributions on Tuesday, December 6, 2022 1 contribution on Wednesday, December 7, 2022 4 contributions on Thursday, December 8, 2022 2 contributions on Friday, December 9, 2022 No contributions on Saturday, December 10, 2022 No contributions on Sunday, December 11, 2022 1 contribution on Monday, December 12, 2022 No contributions on Tuesday, December 13, 2022 1 contribution on Wednesday, December 14, 2022 1 contribution on Thursday, December 15, 2022 No contributions on Friday, December 16, 2022 No contributions on Saturday, December 17, 2022 No contributions on Sunday, December 18, 2022 4 contributions on Monday, December 19, 2022 No contributions on Tuesday, December 20, 2022 No contributions on Wednesday, December 21, 2022 1 contribution on Thursday, December 22, 2022 1 contribution on Friday, December 23, 2022 No contributions on Saturday, December 24, 2022 No contributions on Sunday, December 25, 2022 No contributions on Monday, December 26, 2022 2 contributions on Tuesday, December 27, 2022 2 contributions on Wednesday, December 28, 2022 2 contributions on Thursday, December 29, 2022 No contributions on Friday, December 30, 2022 No contributions on Saturday, December 31, 2022 1 contribution on Sunday, January 1, 2023 1 contribution on Monday, January 2, 2023 No contributions on Tuesday, January 3, 2023 2 contributions on Wednesday, January 4, 2023 No contributions on Thursday, January 5, 2023 No contributions on Friday, January 6, 2023 1 contribution on Saturday, January 7, 2023 No contributions on Sunday, January 8, 2023 2 contributions on Monday, January 9, 2023 1 contribution on Tuesday, January 10, 2023 No contributions on Wednesday, January 11, 2023 1 contribution on Thursday, January 12, 2023 No contributions on Friday, January 13, 2023 1 contribution on Saturday, January 14, 2023 No contributions on Sunday, January 15, 2023 1 contribution on Monday, January 16, 2023 No contributions on Tuesday, January 17, 2023 No contributions on Wednesday, January 18, 2023 1 contribution on Thursday, January 19, 2023 6 contributions on Friday, January 20, 2023 5 contributions on Saturday, January 21, 2023 19 contributions on Sunday, January 22, 2023 No contributions on Monday, January 23, 2023 No contributions on Tuesday, January 24, 2023 4 contributions on Wednesday, January 25, 2023 6 contributions on Thursday, January 26, 2023 6 contributions on Friday, January 27, 2023 14 contributions on Saturday, January 28, 2023 26 contributions on Sunday, January 29, 2023 7 contributions on Monday, January 30, 2023 No contributions on Tuesday, January 31, 2023 No contributions on Wednesday, February 1, 2023 No contributions on Thursday, February 2, 2023 No contributions on Friday, February 3, 2023 2 contributions on Saturday, February 4, 2023 7 contributions on Sunday, February 5, 2023 No contributions on Monday, February 6, 2023 2 contributions on Tuesday, February 7, 2023 1 contribution on Wednesday, February 8, 2023 1 contribution on Thursday, February 9, 2023 No contributions on Friday, February 10, 2023 No contributions on Saturday, February 11, 2023 1 contribution on Sunday, February 12, 2023 No contributions on Monday, February 13, 2023 No contributions on Tuesday, February 14, 2023 3 contributions on Wednesday, February 15, 2023 1 contribution on Thursday, February 16, 2023 No contributions on Friday, February 17, 2023 No contributions on Saturday, February 18, 2023 No contributions on Sunday, February 19, 2023 1 contribution on Monday, February 20, 2023 3 contributions on Tuesday, February 21, 2023 1 contribution on Wednesday, February 22, 2023 5 contributions on Thursday, February 23, 2023 1 contribution on Friday, February 24, 2023 No contributions on Saturday, February 25, 2023 No contributions on Sunday, February 26, 2023 2 contributions on Monday, February 27, 2023 2 contributions on Tuesday, February 28, 2023 2 contributions on Wednesday, March 1, 2023 No contributions on Thursday, March 2, 2023 No contributions on Friday, March 3, 2023 No contributions on Saturday, March 4, 2023 No contributions on Sunday, March 5, 2023 1 contribution on Monday, March 6, 2023 No contributions on Tuesday, March 7, 2023 No contributions on Wednesday, March 8, 2023 No contributions on Thursday, March 9, 2023 No contributions on Friday, March 10, 2023 No contributions on Saturday, March 11, 2023 No contributions on Sunday, March 12, 2023 1 contribution on Monday, March 13, 2023 No contributions on Tuesday, March 14, 2023 2 contributions on Wednesday, March 15, 2023 1 contribution on Thursday, March 16, 2023 No contributions on Friday, March 17, 2023 No contributions on Saturday, March 18, 2023 No contributions on Sunday, March 19, 2023 No contributions on Monday, March 20, 2023 No contributions on Tuesday, March 21, 2023 No contributions on Wednesday, March 22, 2023 No contributions on Thursday, March 23, 2023 No contributions on Friday, March 24, 2023 No contributions on Saturday, March 25, 2023 No contributions on Sunday, March 26, 2023 4 contributions on Monday, March 27, 2023 No contributions on Tuesday, March 28, 2023 No contributions on Wednesday, March 29, 2023 3 contributions on Thursday, March 30, 2023 No contributions on Friday, March 31, 2023 2 contributions on Saturday, April 1, 2023 No contributions on Sunday, April 2, 2023 No contributions on Monday, April 3, 2023 No contributions on Tuesday, April 4, 2023 4 contributions on Wednesday, April 5, 2023 No contributions on Thursday, April 6, 2023 No contributions on Friday, April 7, 2023 No contributions on Saturday, April 8, 2023 No contributions on Sunday, April 9, 2023 1 contribution on Monday, April 10, 2023 1 contribution on Tuesday, April 11, 2023 No contributions on Wednesday, April 12, 2023 No contributions on Thursday, April 13, 2023 No contributions on Friday, April 14, 2023 No contributions on Saturday, April 15, 2023 No contributions on Sunday, April 16, 2023 No contributions on Monday, April 17, 2023 3 contributions on Tuesday, April 18, 2023 No contributions on Wednesday, April 19, 2023 1 contribution on Thursday, April 20, 2023 No contributions on Friday, April 21, 2023 No contributions on Saturday, April 22, 2023 4 contributions on Sunday, April 23, 2023 No contributions on Monday, April 24, 2023 No contributions on Tuesday, April 25, 2023 2 contributions on Wednesday, April 26, 2023 5 contributions on Thursday, April 27, 2023 1 contribution on Friday, April 28, 2023 No contributions on Saturday, April 29, 2023 2 contributions on Sunday, April 30, 2023 1 contribution on Monday, May 1, 2023 1 contribution on Tuesday, May 2, 2023 No contributions on Wednesday, May 3, 2023 2 contributions on Thursday, May 4, 2023 6 contributions on Friday, May 5, 2023 4 contributions on Saturday, May 6, 2023 1 contribution on Sunday, May 7, 2023 No contributions on Monday, May 8, 2023 No contributions on Tuesday, May 9, 2023 2 contributions on Wednesday, May 10, 2023 No contributions on Thursday, May 11, 2023 1 contribution on Friday, May 12, 2023 No contributions on Saturday, May 13, 2023 No contributions on Sunday, May 14, 2023 6 contributions on Monday, May 15, 2023 No contributions on Tuesday, May 16, 2023 2 contributions on Wednesday, May 17, 2023 1 contribution on Thursday, May 18, 2023 1 contribution on Friday, May 19, 2023 No contributions on Saturday, May 20, 2023 No contributions on Sunday, May 21, 2023 7 contributions on Monday, May 22, 2023 1 contribution on Tuesday, May 23, 2023 No contributions on Wednesday, May 24, 2023 No contributions on Thursday, May 25, 2023 2 contributions on Friday, May 26, 2023 4 contributions on Saturday, May 27, 2023 No contributions on Sunday, May 28, 2023 1 contribution on Monday, May 29, 2023 No contributions on Tuesday, May 30, 2023 No contributions on Wednesday, May 31, 2023 3 contributions on Thursday, June 1, 2023 2 contributions on Friday, June 2, 2023 No contributions on Saturday, June 3, 2023 1 contribution on Sunday, June 4, 2023 No contributions on Monday, June 5, 2023 No contributions on Tuesday, June 6, 2023 1 contribution on Wednesday, June 7, 2023 1 contribution on Thursday, June 8, 2023 Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Mon Wed Fri
Activity overview
Contributed to paritytech/substrate, gpestana/rulegraph, paritytech/polkadot and 14 other repositories

Contribution activity

June 2023

Created 1 commit in 1 repository
Opened 1 pull request in 1 repository
paritytech/substrate 1 open
Reviewed 5 pull requests in 3 repositories
paritytech/substrate 2 pull requests
paritytech/staking-miner-v2 2 pull requests
paritytech/polkadot 1 pull request

Created an issue in paritytech/substrate that received 1 comment

[Umbrella issue] Revisit constants and config storage params of pallets related to staking

It's probably a good time to revisit some of the configurations of staking, EPM and nomination pools pallets. This spreadsheet lists all the consta…

2 tasks
1 comment

Seeing something unexpected? Take a look at the GitHub profile guide.