diff --git a/BUILD.gn b/BUILD.gn
new file mode 100644
index 0000000..91aee7f
--- /dev/null
+++ b/BUILD.gn
@@ -0,0 +1,99 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/components.gni")
+
+# micro-ecc library
+source_set("micro-ecc") {
+  sources = [ "uECC.c" ]
+  public = [
+    "asm_arm.inc",
+    "asm_arm_mult_square.inc",
+    "asm_arm_mult_square_umaal.inc",
+    "asm_avr.inc",
+    "asm_avr_mult_square.inc",
+    "curve-specific.inc",
+    "platform-specific.inc",
+    "types.h",
+    "uECC.h",
+    "uECC_vli.h",
+  ]
+  public_configs = [ ":micro-ecc_config" ]
+  deps = [
+    ":micro-ecc-headers",
+    "//zircon/system/ulib/zx",
+  ]
+
+  # TODO(fxb/58162): delete the below and fix compiler warnings
+  configs += [ "//build/config:Wno-conversion" ]
+}
+
+copy("micro-ecc-headers") {
+  sources = [
+    "types.h",
+    "uECC.h",
+    "uECC_vli.h",
+  ]
+  outputs = [ "$target_gen_dir/include/micro-ecc/{{source_file_part}}" ]
+}
+
+config("micro-ecc_config") {
+  include_dirs = [
+    "$target_gen_dir/include",
+    "$target_gen_dir/include/micro-ecc",
+  ]
+
+  # TODO(fxb/53953): Dependent libraries assume this word size, which should
+  # work for arm, arm64, x86, and x86_64 variants. After unwinding those
+  # assumptions, uECC_WORD_SIZE should be removed from this config.
+  defines = [
+    "uECC_ENABLE_VLI_API",
+    "uECC_WORD_SIZE=4",
+  ]
+}
+
+# micro-ecc test binaries
+template("micro_ecc_test") {
+  assert(defined(invoker.sources), "must specify sources")
+  executable("${target_name}_bin") {
+    testonly = true
+    visibility = [ ":*" ]
+    sources = invoker.sources
+    configs += [ ":micro-ecc-test_config" ]
+    deps = [ ":micro-ecc" ]
+  }
+  fuchsia_unittest_component(target_name) {
+    deps = [ ":${target_name}_bin" ]
+  }
+}
+
+micro_ecc_test("compress_test") {
+  sources = [ "test/test_compress.c" ]
+}
+
+micro_ecc_test("compute_test") {
+  sources = [ "test/test_compute.c" ]
+}
+
+micro_ecc_test("ecdh_test") {
+  sources = [ "test/test_ecdh.c" ]
+}
+
+micro_ecc_test("ecdsa_test") {
+  sources = [ "test/test_ecdsa.c" ]
+}
+
+config("micro-ecc-test_config") {
+  configs = [ ":micro-ecc_config" ]
+}
+
+# micro-ecc test package
+fuchsia_test_package("micro-ecc-tests") {
+  test_components = [
+    ":compress_test",
+    ":compute_test",
+    ":ecdh_test",
+    ":ecdsa_test",
+  ]
+}
diff --git a/OWNERS b/OWNERS
new file mode 100644
index 0000000..b616bfa
--- /dev/null
+++ b/OWNERS
@@ -0,0 +1 @@
+prashanthsw@google.com
diff --git a/README.fuchsia b/README.fuchsia
new file mode 100644
index 0000000..c446f58
--- /dev/null
+++ b/README.fuchsia
@@ -0,0 +1,13 @@
+Name: uECC
+License: BSD 2-Clause "Simplified" License
+License File: LICENSE.txt
+Upstream git: https://github.com/kmackay/micro-ecc
+Description:
+
+A small and fast ECDH and ECDSA implementation for 8-bit, 32-bit, and 64-bit processors.
+
+Local Modifications:
+
+Added README.fuchsia.
+Added GN build rules.
+Added implementation of default_RNG for Fuchsia in platform-specific.inc.
diff --git a/platform-specific.inc b/platform-specific.inc
index 7e0373f..c1b551d 100644
--- a/platform-specific.inc
+++ b/platform-specific.inc
@@ -66,6 +66,18 @@
 }
 #define default_RNG_defined 1
 
+#elif defined(__Fuchsia__)
+
+#include <sys/types.h>
+#include <unistd.h>
+#include <zircon/syscalls.h>
+
+static int default_RNG(uint8_t *dest, unsigned size) {
+    zx_cprng_draw(dest, size);
+    return 1;
+}
+#define default_RNG_defined 1
+
 #elif defined(RIOT_VERSION)
 
 #include <random.h>
