From 13775a82321db14c6a6903d63e46fb70470bd194 Mon Sep 17 00:00:00 2001 From: Leo Mouta Date: Tue, 3 Dec 2024 14:19:32 -0500 Subject: [PATCH 1/3] Structure of wiki article --- .../cybersec-intro.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 wiki/system-design-development/cybersec-intro.md diff --git a/wiki/system-design-development/cybersec-intro.md b/wiki/system-design-development/cybersec-intro.md new file mode 100644 index 00000000..0e7b6223 --- /dev/null +++ b/wiki/system-design-development/cybersec-intro.md @@ -0,0 +1,41 @@ +--- +# Jekyll 'Front Matter' goes here. Most are set by default, and should NOT be +# overwritten except in special circumstances. +# You should set the date the article was last updated like this: +date: 2024-03-12 # YYYY-MM-DD +# This will be displayed at the bottom of the article +# You should set the article's title: +title: Introduction to Cybersecurity in Embedded Devices and Robotics +# The 'title' is automatically displayed at the top of the page +# and used in other parts of the site. +--- +[TOC] + +## Introduction + +## General Principles of Cybersecurity + +## Cryptography Toolbox + +## Embedded Device Security + +## ROS Security Principles + +## C Language Troubles + +## Tools and Resources + +## Summary +Use this space to reinforce key points and to suggest next steps for your readers. + +## See Also: +- Links to relevant material within the Robotics Knowledgebase go here. + +## Further Reading +- Links to articles of interest outside the Wiki (that are not references) go here. + +## References +- Links to References go here. +- References should be in alphabetical order. +- References should follow IEEE format. +- If you are referencing experimental results, include it in your published report and link to it here. From 941ccc8913d0945ccd056ea66b45c566f140a68f Mon Sep 17 00:00:00 2001 From: Leo Mouta Date: Wed, 4 Dec 2024 00:04:34 -0500 Subject: [PATCH 2/3] Extra point draft submission --- _data/navigation.yml | 2 + .../assets/asymmetric.png | Bin 0 -> 62740 bytes .../assets/buffer.png | Bin 0 -> 100743 bytes .../system-design-development/assets/hash.png | Bin 0 -> 57519 bytes .../assets/killchain.png | Bin 0 -> 983188 bytes .../assets/symmetric.png | Bin 0 -> 48866 bytes .../cybersec-intro.md | 211 +++++++++++++++++- 7 files changed, 201 insertions(+), 12 deletions(-) create mode 100644 wiki/system-design-development/assets/asymmetric.png create mode 100644 wiki/system-design-development/assets/buffer.png create mode 100644 wiki/system-design-development/assets/hash.png create mode 100644 wiki/system-design-development/assets/killchain.png create mode 100644 wiki/system-design-development/assets/symmetric.png diff --git a/_data/navigation.yml b/_data/navigation.yml index a380856f..d3787d4b 100644 --- a/_data/navigation.yml +++ b/_data/navigation.yml @@ -25,6 +25,8 @@ wiki: url: /wiki/system-design-development/subsystem-interface-modeling/ - title: In Loop Testing url: /wiki/system-design-development/In-Loop-Testing/ + - title: Introduction to Cybersecurity in Embedded Devices and Robotics + url: /wiki/system-design-development/cybersec-intro/ - title: Project Management url: /wiki/project-management/ children: diff --git a/wiki/system-design-development/assets/asymmetric.png b/wiki/system-design-development/assets/asymmetric.png new file mode 100644 index 0000000000000000000000000000000000000000..bbdb60afa9a6f65b9b9932e45f95d27a0f46203f GIT binary patch literal 62740 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