{"id":31780688,"url":"https://github.com/exorift/rfid-s","last_synced_at":"2026-05-17T02:48:52.064Z","repository":{"id":128720420,"uuid":"245520122","full_name":"exoRift/RFID-S","owner":"exoRift","description":"A more secure version of RFID that establishes a handshake rather than one-sided authorization","archived":false,"fork":false,"pushed_at":"2022-08-18T13:07:01.000Z","size":577,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T08:17:48.262Z","etag":null,"topics":["arduino","cpp","radio","rfid"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/exoRift.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-03-06T21:30:46.000Z","updated_at":"2022-08-15T02:17:00.000Z","dependencies_parsed_at":"2023-06-05T04:15:45.334Z","dependency_job_id":null,"html_url":"https://github.com/exoRift/RFID-S","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/exoRift/RFID-S","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoRift%2FRFID-S","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoRift%2FRFID-S/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoRift%2FRFID-S/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoRift%2FRFID-S/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exoRift","download_url":"https://codeload.github.com/exoRift/RFID-S/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoRift%2FRFID-S/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33125913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T18:38:32.183Z","status":"online","status_checked_at":"2026-05-17T02:00:05.366Z","response_time":107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","cpp","radio","rfid"],"created_at":"2025-10-10T08:17:45.923Z","updated_at":"2026-05-17T02:48:52.058Z","avatar_url":"https://github.com/exoRift.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Banner](assets/banner.png)\n### RFID-S is to RFID what HTTPS is to HTTP\u0026mdash; a more secure rendition of an existing protocol.\n---\n### RFID currently works by sending an authentication token over radio frequency. Unfortunately, this leaves that token vulnerable to being \"skimmed\" by malicious scanners.\n\n\u003e \u003cimg alt='current' src='assets/flowcharts/current.png' width='500'\u003e\n\n### \u003cbr/\u003eRFID-S, however, generates a one-time-use code using an encryption key where the scanner sends a random string of bytes to the client, both the client and scanner encrypt that string with the same token, and the client sends it back to the scanner to compare and authenticate. This is far more secure than RFID because no static code or encryption key is sent over RF to be stolen.\n\n\u003e \u003cimg alt='new' src='assets/flowcharts/new.png' width='500'\u003e\n\n### \u003cbr/\u003eBesides for classical RFID applications such as building-access ID cards, this method can also be applied to credit card checkout as a means of authorizing purchases.\n\n\u003e \u003cimg alt='Checkout' src='assets/flowcharts/checkout.png' width='500'\u003e\n\nNecessary Materials for barebones operation\n---\n## Scanner:\n- Microprocessor\n- EEPROM\n- RF transmitter\n- RF receiver\n- Induction emission coil (to power the card/client)\n\n## Card/Client:\n- Microprocessor\n- RF transmitter\n- RF receiver\n- EEPROM\n- Induction reception coil\n\nPins\n---\n- RX: 11\n- TX: 12\n\n---\n##### *RFID-S Is originally written in Arduino but is a general concept that can be applied to any lanuage and use-case*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexorift%2Frfid-s","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexorift%2Frfid-s","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexorift%2Frfid-s/lists"}